gcc.git
12 years agosse.md (round<mode>2_sfix): New expander.
Uros Bizjak [Mon, 14 Nov 2011 19:36:33 +0000 (20:36 +0100)]
sse.md (round<mode>2_sfix): New expander.

* config/i386/sse.md (round<mode>2_sfix): New expander.
(round<mode>2_vec_pack_sfix): Ditto.
(<sse4_1>_round<ssemodesuffix>_sfix<avxsizesuffix>): Ditto.
(<sse4_1>_round<ssemodesuffix>_vec_pack_sfix<avxsizesuffix>): Ditto.
* config/i386/builtin-types.def (V4SI_FTYPE_V4SF_ROUND,
V8SI_FTYPE_V8SF_ROUND, V4SI_FTYPE_V2DF_V2DF_ROUND,
V8SI_FTYPE_V4DF_V4DF_ROUND): New builtin types.
* config/i386/i386.c (ix86_builtins): Add
IX86_BUILTIN_{FLOORPD,CEILPD,ROUNDPD_AZ}_VEC_PACK_SFIX{,256} and
IX86_BUILTIN_{FLOORPS,CEILPS,ROUNDPS_AZ}_SFIX{,256} defines.
(bdesc_args): Add __builtin_ia32_{floorpd,ceilpd}_vec_pack_sfix{,256},
__builtin_ia32_roundpd_az_vec_pack_sfix{,256},
__builtin_ia32_{floorps,ceilps}_sfix{,256}and
__builtin_ia32_roundps_az_sfix{,256} descriptions.
(ix86_expand_sse_round_vec_pack_sfix): New.
(ix86_expand_args_builtin): Handle V4SI_FTYPE_V4SF_ROUND,
V8SI_FTYPE_V8SF_ROUND, V4SI_FTYPE_V2DF_V2DF_ROUND and
V8SI_FTYPE_V4DF_V4DF_ROUND types.  Check last argument of
CODE_FOR_sse4_1_roundpd_vec_pack_sfix, CODE_FOR_sse4_1_roundps_sfix,
CODE_FOR_avx_roundpd_vec_pack_sfix256 and CODE_FOR_avx_roundps_sfix256.
(ix86_builtin_vectorized_function): Handle
BUILT_IN_{I,L,LL}FLOOR{,F}, BUILT_IN_{I,L,LL}CEIL{,F} and
BUILT_IN_{I,L,LL}ROUND{,F}

testsuite/ChangeLog:

* gcc.target/i386/sse4_1-floor-sfix-vec.c: New test.
* gcc.target/i386/sse4_1-floorf-sfix-vec.c: Ditto.
* gcc.target/i386/avx-floor-sfix-vec.c: Ditto.
* gcc.target/i386/avx-floorf-sfix-vec.c: Ditto.
* gcc.target/i386/sse4_1-ceil-sfix-vec.c: Ditto.
* gcc.target/i386/sse4_1-ceilf-sfix-vec.c: Ditto.
* gcc.target/i386/avx-ceil-sfix-vec.c: Ditto.
* gcc.target/i386/avx-ceilf-sfix-vec.c: Ditto.
* gcc.target/i386/sse4_1-round-sfix-vec.c: Ditto.
* gcc.target/i386/sse4_1-roundf-sfix-vec.c: Ditto.
* gcc.target/i386/avx-round-sfix-vec.c: Ditto.
* gcc.target/i386/avx-roundf-sfix-vec.c: Ditto.

From-SVN: r181361

12 years agoCheck ia32 instead of ilp32.
H.J. Lu [Mon, 14 Nov 2011 18:12:24 +0000 (18:12 +0000)]
Check  ia32 instead of ilp32.

2011-11-14  H.J. Lu  <hongjiu.lu@intel.com>

* testsuite/lib/libitm.exp: Check ia32 instead of ilp32.

From-SVN: r181360

12 years agore PR c++/6936 (member "using" binds wrong)
Fabien ChĂȘne [Mon, 14 Nov 2011 17:55:57 +0000 (18:55 +0100)]
re PR c++/6936 (member "using" binds wrong)

PR c++/6936
PR c++/25994
PR c++/26256
PR c++/30195
* search.c (lookup_field_1): Look through USING_DECL.
(lookup_field_r): Call lookup_fnfields_slot instead of
lookup_fnfields_1.
* semantics.c (finish_member_declaration): Remove the check that
prevents USING_DECLs from being verified by
pushdecl_class_level. Call add_method for using declarations that
designates functions if the using declaration is in a template
class. Set DECL_IGNORED_P on class-scope using declarations.
* typeck.c (build_class_member_access_expr): Handle USING_DECLs.
* class.c (check_field_decls): Keep using declarations.
(add_method): Remove two diagnostics about conflicting using
declarations.
* parser.c (cp_parser_nonclass_name): Handle USING_DECLs.
* decl.c (start_enum): Call xref_tag whenever possible.
* cp-tree.h (strip_using_decl): Declare, and reident the previous
function.
* name-lookup.c (strip_using_decl): New function.
(supplement_binding_1): Call strip_using_decl on decl and
bval. Perform most of the checks with USING_DECLs stripped.  Also
check that the target decl and the target bval does not refer to
the same declaration. Allow pushing an enum multiple times in a
template class. Adjustment to diagnose using redeclarations. Call
diagnose_name_conflict.
(push_class_level_binding): Call strip_using_decl on decl and
bval. Perform most of the checks with USING_DECLs stripped. Return
true if both decl and bval refer to USING_DECLs and are dependent.
(diagnose_name_conflict): New function.

From-SVN: r181359

12 years agore PR middle-end/50598 (Undefined symbols: "___emutls_v.*", ... on *-apple-darwin*)
Jan Hubicka [Mon, 14 Nov 2011 17:32:47 +0000 (17:32 +0000)]
re PR middle-end/50598 (Undefined symbols: "___emutls_v.*", ... on *-apple-darwin*)

PR middle-end/50598
* cgraph.h (varpool_externally_visible_p): Declare.
(varpool_add_new_variable): Declare.
* tree-emultls.c (get_emutls_init_templ_addr,
new_emutls_decl): Use varpool_add_new_variable.
* ipa.c (varpool_externally_visible_p): Export.
* varpool.c (varpool_add_new_variable): New function.

From-SVN: r181358

12 years agosw-1.c: Force rep;movsb.
Zolotukhin Michael [Mon, 14 Nov 2011 17:28:11 +0000 (17:28 +0000)]
sw-1.c: Force rep;movsb.

* gcc.target/i386/sw-1.c: Force rep;movsb.

        * config/i386/i386.h (processor_costs): Add second dimension to
        stringop_algs array.
        * config/i386/i386.c (cost models): Initialize second dimension of
        stringop_algs arrays.
(core_cost): New costs based on generic64 costs with updated stringop
values.
        (promote_duplicated_reg): Add support for vector modes, add
        declaration.
        (promote_duplicated_reg_to_size): Likewise.
(processor_target): Set core costs for core variants.
        (expand_set_or_movmem_via_loop_with_iter): New function.
        (expand_set_or_movmem_via_loop): Enable reuse of the same iters in
        different loops, produced by this function.
        (emit_strset): New function.
        (expand_movmem_epilogue): Add epilogue generation for bigger sizes,
        use SSE-moves where possible.
        (expand_setmem_epilogue): Likewise.
        (expand_movmem_prologue): Likewise for prologue.
        (expand_setmem_prologue): Likewise.
        (expand_constant_movmem_prologue): Likewise.
        (expand_constant_setmem_prologue): Likewise.
        (decide_alg): Add new argument align_unknown.  Fix algorithm of
        strategy selection if TARGET_INLINE_ALL_STRINGOPS is set; Skip sse_loop
        (decide_alignment): Update desired alignment according to chosen move
        mode.
        (ix86_expand_movmem): Change unrolled_loop strategy to use SSE-moves.
        (ix86_expand_setmem): Likewise.
        (ix86_slow_unaligned_access): Implementation of new hook
        slow_unaligned_access.
        * config/i386/i386.md (strset): Enable half-SSE moves.
        * config/i386/sse.md (vec_dupv4si): Add expand for vec_dupv4si.
        (vec_dupv2di): Add expand for vec_dupv2di.

Co-Authored-By: Jan Hubicka <jh@suse.cz>
From-SVN: r181357

12 years agore PR bootstrap/51094 (Bootstrap failure at revision 181279 on non-ELF targets)
Dimitrios Apostolou [Mon, 14 Nov 2011 16:55:56 +0000 (16:55 +0000)]
re PR bootstrap/51094 (Bootstrap failure at revision 181279 on non-ELF targets)

PR bootstrap/51094
PR middle-end/51116
* config/elfos.h (TARGET_ASM_INTERNAL_LABEL): Remove.
* varasm.c (default_elf_internal_label): Remove.

From-SVN: r181355

12 years agogcov.c (generate_results): Add missing semicolon and correct indent.
Kai Tietz [Mon, 14 Nov 2011 16:38:23 +0000 (17:38 +0100)]
gcov.c (generate_results): Add missing semicolon and correct indent.

        * gcov.c (generate_results): Add missing semicolon and
        correct indent.

From-SVN: r181353

12 years agore PR testsuite/51059 (FAIL: gcc.misc-tests/gcov-14.c (test for excess errors) on...
Iain Sandoe [Mon, 14 Nov 2011 11:53:33 +0000 (11:53 +0000)]
re PR testsuite/51059 (FAIL: gcc.misc-tests/gcov-14.c (test for excess errors) on *-apple-darwin*)

gcc/testsuite:

PR testsuite/51059
* gcc.misc-tests/gcov-14.c (dg-options): Adjust to use
dg-additional-options.

From-SVN: r181350

12 years agocmath (frexp, [...]): Do not mark constexpr, not viable anyway due to the pointer...
Paolo Carlini [Mon, 14 Nov 2011 11:29:26 +0000 (11:29 +0000)]
cmath (frexp, [...]): Do not mark constexpr, not viable anyway due to the pointer parameter.

2011-11-14  Paolo Carlini  <paolo.carlini@oracle.com>

* include/c_global/cmath (frexp, modf, remquo): Do not mark constexpr,
not viable anyway due to the pointer parameter.

From-SVN: r181349

12 years agore PR fortran/51073 (_gfortran_caf_register incorrectly assumes malloc(0) returns...
Tobias Burnus [Mon, 14 Nov 2011 08:15:09 +0000 (09:15 +0100)]
re PR fortran/51073 (_gfortran_caf_register incorrectly assumes malloc(0) returns non-NULL)

2011-11-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51073
        * trans-decl.c (generate_coarray_sym_init): Handle zero-sized
        * arrays.

From-SVN: r181348

12 years agore PR bootstrap/51112 (LTO bootstrap failed with bootstrap-profiled)
Ira Rosen [Mon, 14 Nov 2011 06:41:09 +0000 (06:41 +0000)]
re PR bootstrap/51112 (LTO bootstrap failed with bootstrap-profiled)

        PR bootstrap/51112
        * tree-vect-stmts.c (vectorizable_condition): Initialize
        comp_vectype.

From-SVN: r181347

12 years agoFix a cross reference.
Mingjie Xing [Mon, 14 Nov 2011 05:53:18 +0000 (05:53 +0000)]
Fix a cross reference.

From-SVN: r181346

12 years agoDaily bump.
GCC Administrator [Mon, 14 Nov 2011 00:18:34 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r181345

12 years agocmath (atan2, [...]): Simplify constraining on the return type.
Paolo Carlini [Sun, 13 Nov 2011 23:51:42 +0000 (23:51 +0000)]
cmath (atan2, [...]): Simplify constraining on the return type.

2011-11-13  Paolo Carlini  <paolo.carlini@oracle.com>

* include/c_global/cmath (atan2, fmod, pow, copysign, fdim,
fma, fmax, fmin, hypot, nextafter, remainder, remquo): Simplify
constraining on the return type.
* include/tr1/cmath (copysign, fdim, fma, fmax, fmin, hypot,
nextafter, remainder, remquo): Likewise.

From-SVN: r181341

12 years agore PR target/50694 (SH Target: SH2A little endian does not actually work)
Oleg Endo [Sun, 13 Nov 2011 23:00:10 +0000 (23:00 +0000)]
re PR target/50694 (SH Target: SH2A little endian does not actually work)

PR target/50694
* config/sh/sh.h (IS_LITTLE_ENDIAN_OPTION, UNSUPPORTED_SH2A):
New macros.
(DRIVER_SELF_SPECS): Use new macros to filter out
unsupported options taking the default configuration into
account.
* gcc.target/sh/pr21255-2-ml.c: Skip if -mb or -m5* is
specified.  Remove redundant runtime checks.
* gcc.target/sh/20080410-1.c: Skip if -mb is specified.
Allow for other than -m4.  Fix typos in comments.

From-SVN: r181340

12 years agoconfig.host (hppa*64*-*-hpux11*): Remove pa/t-stublib64 from tmake_file list.
John David Anglin [Sun, 13 Nov 2011 20:17:01 +0000 (20:17 +0000)]
config.host (hppa*64*-*-hpux11*): Remove pa/t-stublib64 from tmake_file list.

* config.host (hppa*64*-*-hpux11*): Remove pa/t-stublib64 from
tmake_file list.
* config/pa/t-stublib: Merge rules from config/pa/t-stublib64.
* config/pa/t-stublib64: Delete.

From-SVN: r181339

12 years agoinstall.texi (Specific): Fix anchor for x86_64-*-solaris2.1[0-9]*.
Jonathan Wakely [Sun, 13 Nov 2011 16:39:22 +0000 (16:39 +0000)]
install.texi (Specific): Fix anchor for x86_64-*-solaris2.1[0-9]*.

* doc/install.texi (Specific): Fix anchor for
x86_64-*-solaris2.1[0-9]*.

From-SVN: r181338

12 years agogcov.c (source_prefix, [...]): New globals.
Nathan Sidwell [Sun, 13 Nov 2011 10:26:23 +0000 (10:26 +0000)]
gcov.c (source_prefix, [...]): New globals.

* gcov.c (source_prefix, source_length): New globals.
(flag_relative_only): Likewise.
(print_usage, options, process_args): Update.
(generate_results): Use coverage.name, check
flag_relative_only. Adjust messages.
(find_source): Check source_prefix.
(output_lines): Use coverage.name, adjust messages.
* doc/gcov.texi (Invoking Gcov): Document new options.

From-SVN: r181335

12 years agore PR c++/986 (g++ misses warning for reference on temporary that invokes undefined...
Jason Merrill [Sun, 13 Nov 2011 05:09:36 +0000 (00:09 -0500)]
re PR c++/986 (g++ misses warning for reference on temporary that invokes undefined behaviour)

PR c++/986
* call.c (set_up_extended_ref_temp): Warn about references
bound to non-static reference members.
* init.c (perform_member_init): Pass in the member.

From-SVN: r181334

12 years ago* using.xml: Use GNU/Linux.
Gerald Pfeifer [Sun, 13 Nov 2011 04:27:22 +0000 (04:27 +0000)]
* using.xml: Use GNU/Linux.

From-SVN: r181333

12 years agore PR c++/51060 (Temporary object stack space is not re-used)
Jason Merrill [Sun, 13 Nov 2011 00:44:39 +0000 (19:44 -0500)]
re PR c++/51060 (Temporary object stack space is not re-used)

PR c++/51060
* gimplify.c (gimplify_target_expr): Add a clobber to the cleanup.
(gimplify_modify_expr): Don't try to simplify it.
* cp/cp-gimplify.c (cp_gimplify_expr): Leave clobbers alone.

From-SVN: r181332

12 years agoDaily bump.
GCC Administrator [Sun, 13 Nov 2011 00:18:44 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r181331

12 years agore PR bootstrap/51094 (Bootstrap failure at revision 181279 on non-ELF targets)
Dimitrios Apostolou [Sat, 12 Nov 2011 21:40:07 +0000 (21:40 +0000)]
re PR bootstrap/51094 (Bootstrap failure at revision 181279 on non-ELF targets)

PR bootstrap/51094
* config/elfos.h (STRING_ASM_OP): Define.
* varasm.c (default_elf_asm_output_limited_string): Use it.

From-SVN: r181327

12 years agore PR bootstrap/51094 (Bootstrap failure at revision 181279 on non-ELF targets)
Dimitrios Apostolou [Sat, 12 Nov 2011 21:39:59 +0000 (21:39 +0000)]
re PR bootstrap/51094 (Bootstrap failure at revision 181279 on non-ELF targets)

PR bootstrap/51094
* gcc/configure.ac: Check for stpcpy declaration.
* system.h: Declare it if not.
* config.in, configure: Regenerate.

From-SVN: r181326

12 years agoppc-linux: Fix call to _Unwind_SetGRPtr
Richard Henderson [Sat, 12 Nov 2011 17:20:58 +0000 (09:20 -0800)]
ppc-linux: Fix call to _Unwind_SetGRPtr

        * config/rs6000/linux-unwind.h (frob_update_context): Properly
        cast the pointer argument to _Unwind_SetGRPtr.

From-SVN: r181325

12 years agors6000: fix*_trunc insns use nonimmediate_operand
Richard Henderson [Sat, 12 Nov 2011 17:19:39 +0000 (09:19 -0800)]
rs6000: fix*_trunc insns use nonimmediate_operand

        * config/rs6000/rs6000.md (fix_trunc<SFDF>si2_stfiwx): Use
        nonimmediate_operand for the destination.
        (fixuns_trunc<SFDF>si2_stfiwx): Likewise.

From-SVN: r181324

12 years agobuiltins.c (expand_builtin_compare_and_swap): If target is const0, don't pass the...
Richard Henderson [Sat, 12 Nov 2011 17:17:54 +0000 (09:17 -0800)]
builtins.c (expand_builtin_compare_and_swap): If target is const0, don't pass the target to expand_atomic_compare_and_swap.

        * builtins.c (expand_builtin_compare_and_swap): If target is const0,
        don't pass the target to expand_atomic_compare_and_swap.
        (expand_builtin_atomic_compare_exchange): Likewise.

From-SVN: r181323

12 years agosh-linux: Install __sync libfuncs.
Richard Henderson [Sat, 12 Nov 2011 17:17:45 +0000 (09:17 -0800)]
sh-linux: Install __sync libfuncs.

        * config/sh/linux.h (TARGET_INIT_LIBFUNCS): New.
        * config/sh/sh.c (sh_init_sync_libfuncs): New.

From-SVN: r181322

12 years agore PR libstdc++/51083 (TR1 [tr.c99.cmath.over] and C++11 [cmplx.over] overloads not...
Jonathan Wakely [Sat, 12 Nov 2011 15:57:03 +0000 (15:57 +0000)]
re PR libstdc++/51083 (TR1 [tr.c99.cmath.over] and C++11 [cmplx.over] overloads not constrained)

PR libstdc++/51083
* include/ext/type_traits.h (__promote): Only define __type member
for integral and floating point types, to prevent math functions
participating in overload resolution for other types.
(__promote_2, __promote_3, __promote_4): Use __promote in default
template argument values, so deduction only succeeds for integral and
floating point types.
* testsuite/26_numerics/cmath/51083.cc: New.
* testsuite/26_numerics/complex/51083.cc: New.
* testsuite/tr1/8_c_compatibility/cmath/51083.cc: New.
* testsuite/tr1/8_c_compatibility/complex/51083.cc: New.

From-SVN: r181321

12 years agohppa: Install __sync libfuncs for linux.
Richard Henderson [Sat, 12 Nov 2011 15:39:44 +0000 (07:39 -0800)]
hppa: Install __sync libfuncs for linux.

        * config/pa/pa-linux.h (TARGET_SYNC_LIBCALL): New.
        * config/pa/pa.h (TARGET_SYNC_LIBCALL): New default.
        * config/pa/pa.c (pa_init_libfuncs): Use init_sync_libfuncs.

From-SVN: r181320

12 years agoMakefile.in (stamp-gnatlib-$(RTSDIR)): Don't link s-oscons.ads.
Iain Sandoe [Sat, 12 Nov 2011 15:06:18 +0000 (15:06 +0000)]
Makefile.in (stamp-gnatlib-$(RTSDIR)): Don't link s-oscons.ads.

ada:

* gcc-interface/Makefile.in (stamp-gnatlib-$(RTSDIR)): Don't link
s-oscons.ads.
(OSCONS_CPP, OSCONS_EXTRACT): New.
(./bldtools/oscons/xoscons): New Target.
($(RTSDIR)/s-oscons.ads): New Target.
(gnatlib): Depend on  $(RTSDIR)/s-oscons.ads.
* gcc-interface/Make-lang.in (ada/s-oscons.ads) Remove as dependency.
* Make-generated.in: Remove machinery to generate xoscons and
ada/s-oscons.ads.

libada:

Makefile.in: Change dependency on oscons to depend on the generator
tool.

From-SVN: r181319

12 years agogcc-simulate-thread.exp (simulate-thread): Do not run on alpha*-*-linux* targets.
Uros Bizjak [Sat, 12 Nov 2011 14:35:31 +0000 (15:35 +0100)]
gcc-simulate-thread.exp (simulate-thread): Do not run on alpha*-*-linux* targets.

* lib/gcc-simulate-thread.exp (simulate-thread): Do not run on
alpha*-*-linux* targets.

From-SVN: r181318

12 years agore PR testsuite/51059 (FAIL: gcc.misc-tests/gcov-14.c (test for excess errors) on...
Iain Sandoe [Sat, 12 Nov 2011 14:30:45 +0000 (14:30 +0000)]
re PR testsuite/51059 (FAIL: gcc.misc-tests/gcov-14.c (test for excess errors) on *-apple-darwin*)

gcc/testsuite:

PR testsuite/51059
* gcc.misc-tests/gcov-14.c (dg-options): Force flat namespace for
Darwin targets and allow external symbols to be undefined.

From-SVN: r181317

12 years agore PR target/45233 (FAIL: gcc.c-torture/compile/pr44707.c)
Iain Sandoe [Sat, 12 Nov 2011 14:12:26 +0000 (14:12 +0000)]
re PR target/45233 (FAIL: gcc.c-torture/compile/pr44707.c)

gcc:

PR target/45233
* config/rs6000/rs6000.c (rs6000_legitimize_reload_address):
Only expand a symbol ref. into an access when the entity is defined
in the TU.

From-SVN: r181315

12 years agoobjc-next-runtime-abi-01.c (objc_eh_personality): Use gcc personality for Objective...
Iain Sandoe [Sat, 12 Nov 2011 13:54:33 +0000 (13:54 +0000)]
objc-next-runtime-abi-01.c (objc_eh_personality): Use gcc personality for Objective-C m32.

gcc/obj:

* objc-next-runtime-abi-01.c (objc_eh_personality): Use gcc personality
for Objective-C m32.

From-SVN: r181312

12 years agore PR bootstrap/50822 (Solaris/SPARC bootstrap failure with Sun as: invalid assembler...
Jan Hubicka [Sat, 12 Nov 2011 13:19:55 +0000 (14:19 +0100)]
re PR bootstrap/50822 (Solaris/SPARC bootstrap failure with Sun as: invalid assembler for ios_init.cc)

PR bootstrap/50822
* cgraphunit.c (output_weakrefs): Output really only weakrefs.

From-SVN: r181311

12 years agoMAINTAINERS (Reviewers): Keep the list sorted.
Andrey Belevantsev [Sat, 12 Nov 2011 12:11:39 +0000 (16:11 +0400)]
MAINTAINERS (Reviewers): Keep the list sorted.

        * MAINTAINERS (Reviewers): Keep the list sorted.

From-SVN: r181310

12 years agogcov.c (struct name_map): New.
Nathan Sidwell [Sat, 12 Nov 2011 11:35:42 +0000 (11:35 +0000)]
gcov.c (struct name_map): New.

* gcov.c (struct name_map): New.
(names, n_names, a_names): New global vars.
(print_usage): Adjust usage.
(generate_results): Canonicalize main file name.
(release_structures): Adjust.
(name_search, name_sort): New callbacks.
(find_source): Look for and create a canonical name.
(canonicalize_name): New.
(make_gcov_file_name): Reimplement and fix mangling.
(mangle_name): New.
* doc/gcov.texi: Update documentation about path preservation.

testsuite/
* gcc.misc-tests/gcov-15.c: New.

From-SVN: r181309

12 years agoFix recent entry
Eric Botcazou [Sat, 12 Nov 2011 08:57:49 +0000 (08:57 +0000)]
Fix recent entry

From-SVN: r181308

12 years agoFix Linux/sparc build after generic asm output optimizations.
David S. Miller [Sat, 12 Nov 2011 01:05:07 +0000 (01:05 +0000)]
Fix Linux/sparc build after generic asm output optimizations.

* config/sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Delete.
* config/sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Delete.

From-SVN: r181307

12 years agoDaily bump.
GCC Administrator [Sat, 12 Nov 2011 00:18:00 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r181306

12 years agoIntroduce G structure and thread-local global g.
Ian Lance Taylor [Fri, 11 Nov 2011 21:02:48 +0000 (21:02 +0000)]
Introduce G structure and thread-local global g.

From-SVN: r181301

12 years agoi386-protos.h (ix86_maybe_emit_epilogue_vzeroupper): New prototype.
Jakub Jelinek [Fri, 11 Nov 2011 19:58:10 +0000 (20:58 +0100)]
i386-protos.h (ix86_maybe_emit_epilogue_vzeroupper): New prototype.

* config/i386/i386-protos.h (ix86_maybe_emit_epilogue_vzeroupper):
New prototype.
* config/i386/i386.c (ix86_maybe_emit_epilogue_vzeroupper): New
function.
(ix86_expand_epilogue): Use it.
* config/i386/i386.md (return, simple_return): Call it in the
expanders.

From-SVN: r181300

12 years agore PR tree-optimization/51091 (FAIL: gcc.dg/tree-ssa/stdarg-2.c scan-tree-dump stdarg)
Jakub Jelinek [Fri, 11 Nov 2011 19:57:23 +0000 (20:57 +0100)]
re PR tree-optimization/51091 (FAIL: gcc.dg/tree-ssa/stdarg-2.c scan-tree-dump stdarg)

PR tree-optimization/51091
* tree-stdarg.c (execute_optimize_stdarg): Ignore TREE_CLOBBER_P
rhs also in the va_list_simple_ptr case.

From-SVN: r181299

12 years agore PR tree-optimization/51058 (ICE: gimple check: expected gimple_assign(error_mark...
Jakub Jelinek [Fri, 11 Nov 2011 19:56:13 +0000 (20:56 +0100)]
re PR tree-optimization/51058 (ICE: gimple check: expected gimple_assign(error_mark), have gimple_call() in gimple_assign_rhs_code, at gimple.h:1992)

PR tree-optimization/51058
* tree-vect-slp.c (vect_remove_slp_scalar_calls): New function.
(vect_schedule_slp): Call it.
* tree-vect-stmts.c (vectorizable_call): If slp_node != NULL,
don't replace scalar calls with setting of their lhs to zero here.

* gcc.dg/vect/fast-math-vect-call-1.c: Add f4 test.
* gfortran.dg/vect/pr51058-2.f90: New test.

From-SVN: r181298

12 years agore PR tree-optimization/51074 (No constant folding performed for VEC_PERM_EXPR, VEC_I...
Jakub Jelinek [Fri, 11 Nov 2011 19:55:23 +0000 (20:55 +0100)]
re PR tree-optimization/51074 (No constant folding performed for VEC_PERM_EXPR, VEC_INTERLEAVE*EXPR, VEC_EXTRACT*EXPR)

PR tree-optimization/51074
* fold-const.c (vec_cst_ctor_to_array, fold_vec_perm): New functions.
(fold_binary_loc): Handle VEC_EXTRACT_EVEN_EXPR,
VEC_EXTRACT_ODD_EXPR, VEC_INTERLEAVE_HIGH_EXPR and
VEC_INTERLEAVE_LOW_EXPR with VECTOR_CST or CONSTRUCTOR operands.
(fold_ternary_loc): Handle VEC_PERM_EXPR with VECTOR_CST or
CONSTRUCTOR operands.
* tree-ssa-propagate.c (valid_gimple_rhs_p): Handle ternary
expressions.
* tree-vect-generic.c (lower_vec_perm): Mask sel_int elements
to 0 .. 2 * elements - 1.

From-SVN: r181297

12 years agoImplement omp atomic load and store.
Richard Henderson [Fri, 11 Nov 2011 17:52:11 +0000 (09:52 -0800)]
Implement omp atomic load and store.

* gimple-pretty-print.c (dump_gimple_omp_atomic_load): Dump needed.
(dump_gimple_omp_atomic_store): Likewise.
* optabs.c (can_atomic_exchange_p): New.
* optabs.h (can_atomic_exchange_p): Declare.
* omp-low.c (expand_omp_atomic_load): Implement.
(expand_omp_atomic_store): Likewise.
(expand_omp_atomic): Update for new arguments to load/store.

From-SVN: r181296

12 years agore PR c++/50976 ([C++0x] literal operator with unsigned long long parameter not accepted)
Ed Smith-Rowland [Fri, 11 Nov 2011 16:51:41 +0000 (16:51 +0000)]
re PR c++/50976 ([C++0x] literal operator with unsigned long long parameter not accepted)

PR c++/50976
* typeck.c (check_literal_operator_args): Reorganize test for string
operators so size_t search depends on finding string first.

From-SVN: r181292

12 years agoFix SPU libgcc build
Rainer Orth [Fri, 11 Nov 2011 16:49:22 +0000 (16:49 +0000)]
Fix SPU libgcc build

* config/spu/t-elf (LIB2ADD): Use LIB2FUNCS_EXCLUDE instead.

From-SVN: r181291

12 years agoPR 51090 Fix r181288 to conform to GNU style
Janne Blomqvist [Fri, 11 Nov 2011 16:38:11 +0000 (18:38 +0200)]
PR 51090 Fix r181288 to conform to GNU style

From-SVN: r181290

12 years agocprop.c: Adjust outdated comments throughout.
Eric Botcazou [Fri, 11 Nov 2011 16:34:16 +0000 (16:34 +0000)]
cprop.c: Adjust outdated comments throughout.

* cprop.c: Adjust outdated comments throughout.
(hash_scan_set): Rename PAT parameter into SET.
(cprop_pavloc): Rename into...
(cprop_avloc): ...this.
(cprop_absaltered): Rename into...
(cprop_kill): ...this.
(alloc_cprop_mem): Adjust for above renaming.
(free_cprop_mem): Likewise.
(compute_cprop_data): Likewise.
(compute_local_properties): Rename TRANSP parameter into KILL and
adjust throughout.  Rework comments.
(try_replace_reg): Fix long line.
(cprop_jump): Likewise.
(constprop_register): Fix prototype and take INSN last.
(cprop_insn): Adjust calls to above function.  Fix long lines.
(bypass_block): Likewise.
(one_cprop_pass): Likewise.

From-SVN: r181289

12 years agoPR 51090 Check that getenv result != NULL before proceeding.
Janne Blomqvist [Fri, 11 Nov 2011 16:31:47 +0000 (18:31 +0200)]
PR 51090 Check that getenv result != NULL before proceeding.

2011-11-11  Janne Blomqvist  <jb@gcc.gnu.org>

PR libfortran/51090
* runtime/main.c (find_addr2line): NULL check before proceeding.

From-SVN: r181288

12 years agoelf.h (ELF_ASCII_ESCAPES): Rename from ESCAPES.
Uros Bizjak [Fri, 11 Nov 2011 16:24:55 +0000 (17:24 +0100)]
elf.h (ELF_ASCII_ESCAPES): Rename from ESCAPES.

* config/alpha/elf.h (ELF_ASCII_ESCAPES): Rename from ESCAPES.
(ELF_STRING_LIMIT): Rename from STRING_LIMIT.

From-SVN: r181287

12 years agovarasm.c (default_elf_asm_output_limited_string): #ifdef ELF_ASCII_ESCAPES.
Jason Merrill [Fri, 11 Nov 2011 15:27:02 +0000 (10:27 -0500)]
varasm.c (default_elf_asm_output_limited_string): #ifdef ELF_ASCII_ESCAPES.

* varasm.c (default_elf_asm_output_limited_string): #ifdef
ELF_ASCII_ESCAPES.
(default_elf_asm_output_ascii): Likewise.

From-SVN: r181286

12 years agore PR target/50762 (ICE: in extract_insn, at recog.c:2137 (unrecognizable insn))
Uros Bizjak [Fri, 11 Nov 2011 14:56:00 +0000 (15:56 +0100)]
re PR target/50762 (ICE: in extract_insn, at recog.c:2137 (unrecognizable insn))

PR target/50762
* config/i386/constraints.md (j): New address constraint.
* config/i386/predicates.md (lea_address_operand): Redefine as
special predicate.
* config/i386/i386.md (*lea_3_zext): Use "j" constraint for operand 1.
(*lea_4_zext): Ditto.

From-SVN: r181285

12 years agoMAINTAINERS (Selective Scheduling): Add myself as a reviewer.
Andrey Belevantsev [Fri, 11 Nov 2011 09:19:21 +0000 (13:19 +0400)]
MAINTAINERS (Selective Scheduling): Add myself as a reviewer.

2011-11-11  Andrey Belevantsev  <abel@ispras.ru>

* MAINTAINERS (Selective Scheduling): Add myself as a reviewer.

From-SVN: r181284

12 years agoRevert sparc vec_init improvements as they cause 64-bit regressions.
David S. Miller [Fri, 11 Nov 2011 08:23:34 +0000 (08:23 +0000)]
Revert sparc vec_init improvements as they cause 64-bit regressions.

gcc/

Revert
2011-11-05  David S. Miller  <davem@davemloft.net>

From-SVN: r181283

12 years agoopts-common.c (generate_canonical_option): Free opt_text it it has been allocated...
Jakub Jelinek [Fri, 11 Nov 2011 08:15:56 +0000 (09:15 +0100)]
opts-common.c (generate_canonical_option): Free opt_text it it has been allocated here and not stored anywhere.

* opts-common.c (generate_canonical_option): Free opt_text
it it has been allocated here and not stored anywhere.

From-SVN: r181282

12 years agotree-vect-slp.c (vect_free_slp_tree): Also free SLP_TREE_CHILDREN vector.
Jakub Jelinek [Fri, 11 Nov 2011 08:10:07 +0000 (09:10 +0100)]
tree-vect-slp.c (vect_free_slp_tree): Also free SLP_TREE_CHILDREN vector.

* tree-vect-slp.c (vect_free_slp_tree): Also free SLP_TREE_CHILDREN
vector.
(vect_create_new_slp_node): Don't allocate node before checking stmt
type.
(vect_free_oprnd_info): Remove FREE_DEF_STMTS argument, always
free def_stmts vectors and additionally free oprnd_info.
(vect_build_slp_tree): Adjust callers.  Call it even if
stop_recursion.  If vect_create_new_slp_node or
vect_build_slp_tree fails, properly handle freeing memory.
If it succeeded, clear def_stmts in oprnd_info.

From-SVN: r181281

12 years agore PR c++/50372 ([C++0x] pointers to static functions should be valid template parame...
Jason Merrill [Fri, 11 Nov 2011 04:29:04 +0000 (23:29 -0500)]
re PR c++/50372 ([C++0x] pointers to static functions should be valid template parameters)

PR c++/50372
* pt.c (convert_nontype_argument_function): Allow decls with
internal linkage in C++11.
(convert_nontype_argument): Likewise.

From-SVN: r181280

12 years agofinal.c, output.h (fprint_whex, [...]): New functions serving as fast replacements...
Dimitrios Apostolou [Fri, 11 Nov 2011 04:00:39 +0000 (04:00 +0000)]
final.c, output.h (fprint_whex, [...]): New functions serving as fast replacements for fprintf() integer to string...

* final.c, output.h (fprint_whex, fprint_w, fprint_ul, sprint_ul):
New functions serving as fast replacements for fprintf() integer
to string conversions. They were used in the following changes.
* final.c (sprint_ul_rev): Internal helper for the above.
(output_addr_const): case CONST_INT: don't use fprintf().
* elfos.h (ASM_GENERATE_INTERNAL_LABEL): Don't use sprintf("%u"),
use sprint_ul() and stpcpy() which are much faster.
(TARGET_ASM_INTERNAL_LABEL): Define as default_elf_internal_label.
(ELF_ASCII_ESCAPES, ELF_STRING_LIMIT): Are the old ESCAPES and
STRING_LIMIT macros.
(ASM_OUTPUT_LIMITED_STRING, ASM_OUTPUT_ASCII): Macros now just
call respective functions that provide the same
functionality. Those are default_elf_asm_output_limited_string()
and default_elf_asm_output_ascii() in varasm.c.
* varasm.c: Fixed some whitespace inconsistencies.
(default_elf_asm_output_limited_string)
(default_elf_asm_output_ascii): The above macros from elfos.h are
implemented here as these functions, avoiding superfluous calls to
fprintf().
(default_elf_internal_label): Hook for
targetm.asm_out.internal_label and ASM_OUTPUT_DEBUG_LABEL.
* i386.c: Don't call fprintf("%u") but fprint_ul() instead.
* defaults.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_INTERNAL_LABEL):
Expanded the macros on multiple lines for readability.
(ASM_OUTPUT_LABELREF): Have two calls to fputs() instead of one to
asm_fprintf().
* dwarf2asm.c (dw2_assemble_integer, dw2_asm_output_data)
(dw2_asm_data_uleb128, dw2_asm_delta_uleb128)
(dw2_asm_delta_sleb128): Convert fprintf() calls to the new
faster functions.
* dwarf2out.c (dwarf2out_source_line): Convert fprintf() calls to
the new faster functions.

From-SVN: r181279

12 years agoDaily bump.
GCC Administrator [Fri, 11 Nov 2011 00:18:44 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r181278

12 years agoextend.texi: Document __atomic_test_and_set and __atomic_clear.
Andrew MacLeod [Thu, 10 Nov 2011 22:46:25 +0000 (22:46 +0000)]
extend.texi: Document __atomic_test_and_set and __atomic_clear.

2011-11-10  Andrew MacLeod  <amacleod@redhat.com>

* doc/extend.texi: Document __atomic_test_and_set and __atomic_clear.

From-SVN: r181273

12 years agore PR c++/50973 ([C++0x] internal compiler error defaulted destructor virtual inherit...
Jason Merrill [Thu, 10 Nov 2011 21:14:42 +0000 (16:14 -0500)]
re PR c++/50973 ([C++0x] internal compiler error defaulted destructor virtual inheritance)

PR c++/50973
* decl2.c (mark_used): Defer synthesis of virtual functions.
* method.c (use_thunk): Make sure the target function has
DECL_INTERFACE_KNOWN.

From-SVN: r181272

12 years agore PR middle-end/51038 (29_atomics/atomic_flag/clear/1.cc test_and_set/explicit.cc...
Andrew MacLeod [Thu, 10 Nov 2011 20:38:33 +0000 (20:38 +0000)]
re PR middle-end/51038 (29_atomics/atomic_flag/clear/1.cc test_and_set/explicit.cc implicit.cc)

PR middle-end/51038

libstdc++-v3
* include/bits/atomic_base.h (atomic_thread_fence): Call built-in.
(atomic_signal_fence): Call built-in.
(test_and_set, clear): Call new atomic built-ins.

gcc
* builtins.c (expand_builtin_atomic_clear): New.  Expand atomic_clear.
(expand_builtin_atomic_test_and_set): New.  Expand atomic test_and_set.
(expand_builtin): Add cases for test_and_set and clear.
* sync-builtins.def (BUILT_IN_ATOMIC_TEST_AND_SET): New.
(BUILT_IN_ATOMIC_CLEAR): New.

testsuite
* gcc.dg/atomic-invalid.c: Add test for invalid __atomic_clear models.
* gcc.dg/atomic-flag.c: New.  Test __atomic_test_and_set and
__atomic_clear.

From-SVN: r181271

12 years agoPR c++/51079, DR 495
Jason Merrill [Thu, 10 Nov 2011 20:28:16 +0000 (15:28 -0500)]
PR c++/51079, DR 495

PR c++/51079, DR 495
* call.c (joust): Check the second conversion sequence
before checking templates.

From-SVN: r181270

12 years agore PR debug/50983 (incorrect DW_LNS_negate_stmt)
Jason Merrill [Thu, 10 Nov 2011 20:28:04 +0000 (15:28 -0500)]
re PR debug/50983 (incorrect DW_LNS_negate_stmt)

PR debug/50983
* dwarf2out.c (set_cur_line_info_table): Restore the last is_stmt
value in the current line table.

From-SVN: r181269

12 years agofe.h (Serious_Errors_Detected): New macro.
Eric Botcazou [Thu, 10 Nov 2011 19:45:17 +0000 (19:45 +0000)]
fe.h (Serious_Errors_Detected): New macro.

* fe.h (Serious_Errors_Detected): New macro.
* gcc-interface/gigi.h (build_atomic_load): Declare.
(build_atomic_store): Likewise.
* gcc-interface/trans.c (atomic_sync_required_p): New predicate.
(call_to_gnu): Add ATOMIC_SYNC parameter.  Use local variable.
Build an atomic load for an In or In Out parameter if needed.
Build an atomic store for the assignment of an Out parameter if needed.
Build an atomic store to the target if ATOMIC_SYNC is true.
(present_in_lhs_or_actual_p): New predicate.
(gnat_to_gnu) <N_Identifier>: Build an atomic load if needed.
<N_Explicit_Dereference>: Likewise.
<N_Indexed_Component>: Likewise.
<N_Selected_Component>: Likewise.
<N_Assignment_Statement>: Adjust call to call_to_gnu.
Build an atomic store to the LHS if needed.
<N_Function_Call>:  Adjust call to call_to_gnu.
* gcc-interface/utils2.c: Include toplev.h.
(resolve_atomic_size): New static function.
(build_atomic_load): New function.
(build_atomic_store): Likewise.
* gcc-interface/Make-lang.in (ada/utils2.o): Add toplev.h.

From-SVN: r181267

12 years agoconfigure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
Richard Henderson [Thu, 10 Nov 2011 19:34:57 +0000 (11:34 -0800)]
configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.

        * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
        * configure, aclocal.m4: Rebuild.

From-SVN: r181266

12 years agogcov.c (struct function_info): Make src an index, not a pointer.
Nathan Sidwell [Thu, 10 Nov 2011 19:17:13 +0000 (19:17 +0000)]
gcov.c (struct function_info): Make src an index, not a pointer.

* gcov.c (struct function_info): Make src an index, not a pointer.
(struct source_info): Remove index and next source fields.
(fn_end): New static var.
(sources_index): Remove.
(sources): Now a pointer to an array, not a list.
(n_sources, a_sources): New.
(process_file): Adjust for changes to read_graph_file. Insert
functions into source lists and check line numbers here.
(generate_results): Only allocate lines for sources with
contents.  Adjust for source array.
(release_structures): Likewise.
(find_source): Return source index, adjust for source array.
(read_graph_file): Return function list.  Don't insert into source
lists here.
(read_count_file): Take list of functions.
(solve_flow_graph): Reverse the arc lists here.
(add_line_counts): Adjust for source array.

From-SVN: r181265

12 years agore PR middle-end/51077 (Endless recursion with __builtin_object_size)
Jakub Jelinek [Thu, 10 Nov 2011 19:02:30 +0000 (20:02 +0100)]
re PR middle-end/51077 (Endless recursion with __builtin_object_size)

PR middle-end/51077
* tree-object-size.c (addr_object_size): Check TREE_CODE of
MEM_REF's operand rather than code of the MEM_REF itself.

* gcc.c-torture/compile/pr51077.c: New test.

From-SVN: r181263

12 years agolibitm port to Tru64 UNIX
Rainer Orth [Thu, 10 Nov 2011 17:15:33 +0000 (17:15 +0000)]
libitm port to Tru64 UNIX

* config/alpha/sjlj.S (_ITM_beginTransaction) [!__ELF__]: Don't use
.hidden.
(.note.GNU-stack): Only use if __linux__.
* alloc_cpp.cc [!__osf__] (_ZnaXRKSt9nothrow_t): Dummy function.
* testsuite/libitm.c/notx.c: Use dg-options "-pthread".
* testsuite/libitm.c/reentrant.c: Likewise.
* testsuite/libitm.c/simple-2.c: Likewise.
* testsuite/libitm.c/txrelease.c: Likewise.
* testsuite/libitm.c++/static_ctor.C: Likewise.

From-SVN: r181262

12 years agolibitm: Don't add -mavx if the assembler doesn't support avx.
Richard Henderson [Thu, 10 Nov 2011 17:09:04 +0000 (09:09 -0800)]
libitm: Don't add -mavx if the assembler doesn't support avx.

        * config/x86/x86_avx.cc: Remove #undef __AVX__ hack.  Tidy comments.
        * Makefile.am (x86_avx.lo): Only add -mavx if ARCH_X86_AVX.
        * configure.ac (ARCH_X86_AVX): New conditional.
        * Makefile.in, configure: Rebuild.

From-SVN: r181261

12 years agoLet the compiler decide whether to inline.
Janne Blomqvist [Thu, 10 Nov 2011 17:08:24 +0000 (19:08 +0200)]
Let the compiler decide whether to inline.

2011-11-10  Janne Blomqvist  <jb@gcc.gnu.org>

* intrinsics/cpu_time.c (__cpu_time_1): Don't force inlining.
* intrinsics/random.c (rnumber_4): Remove inline attribute.
(rnumber_8, rnumber_10, rnumber_16): Likewise.
* intrinsics/system_clock.c (gf_gettime_mono): Likewise.
* intrinsics/time_1.h (ATTRIBUTE_ALWAYS_INLINE): Remove macro.
(gf_cputime): Add inline attribute for MingW version.
* io/format.c (format_hash): Remove inline attribute.
* io/io.h (memset4): Inline function from transfer.c and write.c
moved here.
* io/transfer.c (min_off): Remove inline attribute.
(memset4): Move to io.h.
* io/write.c (memset4): Likewise.
(memcpy4): Remove inline attribute.
* io/write_float.def (calculate_exp): Likewise.

From-SVN: r181260

12 years agore PR rtl-optimization/51040 (ICE: RTL check: access of elt 1 of 'not' with last...
Andrew MacLeod [Thu, 10 Nov 2011 16:39:32 +0000 (16:39 +0000)]
re PR rtl-optimization/51040 (ICE: RTL check: access of elt 1 of 'not' with last elt 0 in gen_rtx_fmt_ee_stat, at ./genrtl.h:33 with __atomic_nand_fetch())

PR rtl-optimization/51040
* optabs.c (expand_atomic_fetch_op): Patchup code for NAND should be AND
followed by NOT.
* builtins.c (expand_builtin_atomic_fetch_op): Patchup code for NAND
should be AND followed by NOT.
* testsuite/gcc.dg/atomic-noinline[-aux].c: Test no-inline NAND and
patchup code.

From-SVN: r181259

12 years agovec.h (VEC_BASE): If base is at offset 0 in the structure, use &(P)->base even if...
Jakub Jelinek [Thu, 10 Nov 2011 15:40:34 +0000 (16:40 +0100)]
vec.h (VEC_BASE): If base is at offset 0 in the structure, use &(P)->base even if P is NULL.

* vec.h (VEC_BASE): If base is at offset 0 in the structure,
use &(P)->base even if P is NULL.

From-SVN: r181258

12 years agore PR rtl-optimization/51023 (likely integer wrong code bug)
Jakub Jelinek [Thu, 10 Nov 2011 15:36:48 +0000 (16:36 +0100)]
re PR rtl-optimization/51023 (likely integer wrong code bug)

PR rtl-optimization/51023
* combine.c (simplify_comparison) <case SIGN_EXTEND>: Don't use
val_signbit_known_clear_p for signed comparison narrowing
optimization.  Don't check for non-VOIDmode, use
HWI_COMPUTABLE_MODE_P macro.
<case ZERO_EXTEND>: Don't check for non-VOIDmode.
Optimize even when const_op is equal to GET_MODE_MASK (mode),
don't optimize if const_op is negative.

* gcc.c-torture/execute/pr51023.c: New test.

From-SVN: r181257

12 years agore PR tree-optimization/51042 (endless recursion in phi_translate)
Richard Guenther [Thu, 10 Nov 2011 15:28:57 +0000 (15:28 +0000)]
re PR tree-optimization/51042 (endless recursion in phi_translate)

2011-11-10  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/51042
* tree-ssa-pre.c (phi_translate_1): Avoid recursing on
self-referential expressions.  Refactor code to avoid duplication.

* gcc.dg/torture/pr51042.c: New testcase.

From-SVN: r181256

12 years agore PR tree-optimization/51070 (ICE verify_gimple failed)
Richard Guenther [Thu, 10 Nov 2011 13:46:27 +0000 (13:46 +0000)]
re PR tree-optimization/51070 (ICE verify_gimple failed)

2011-11-10  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/51070
* tree-loop-distribution.c (generate_builtin): Do not replace
the loop with a builtin if the partition contains statements which
results are used outside of the loop.
(pass_loop_distribution): Verify and collect.

* gcc.dg/torture/pr51070.c: New testcase.

From-SVN: r181255

12 years agore PR tree-optimization/51030 (PHI opt does not handle value-replacement with a trans...
Richard Guenther [Thu, 10 Nov 2011 12:24:52 +0000 (12:24 +0000)]
re PR tree-optimization/51030 (PHI opt does not handle value-replacement with a transfer function)

2011-11-10  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/51030
* tree-ssa-phiopt.c (jump_function_from_stmt): New function.
(value_replacement): Use it to handle trivial non-empty
intermediate blocks.

* gcc.dg/tree-ssa/phi-opt-6.c: New testcase.

From-SVN: r181254

12 years agore PR middle-end/51071 (ICE in gimple_has_side_effects, at gimple.c:2513)
Richard Guenther [Thu, 10 Nov 2011 12:22:46 +0000 (12:22 +0000)]
re PR middle-end/51071 (ICE in gimple_has_side_effects, at gimple.c:2513)

2011-11-10  Richard Guenther  <rguenther@suse.de>

PR middle-end/51071
* gimple.c (gimple_has_side_effects): Remove checking code
that doesn't belong here.

* gcc.dg/torture/pr51071.c: New testcase.

From-SVN: r181253

12 years ago* gnat.dg/loop_optimization9.ad[sb]: New test.
Eric Botcazou [Thu, 10 Nov 2011 10:48:11 +0000 (10:48 +0000)]
* gnat.dg/loop_optimization9.ad[sb]: New test.

From-SVN: r181252

12 years agore PR tree-optimization/51058 (ICE: gimple check: expected gimple_assign(error_mark...
Ira Rosen [Thu, 10 Nov 2011 10:14:24 +0000 (10:14 +0000)]
re PR tree-optimization/51058 (ICE: gimple check: expected gimple_assign(error_mark), have gimple_call() in gimple_assign_rhs_code, at gimple.h:1992)

        PR tree-optimization/51058
        * tree-vect-slp.c (vect_get_constant_vectors): Handle CALL_EXPR.

From-SVN: r181251

12 years agore PR tree-optimization/51000 (ICE: in vect_get_store_cost, at tree-vect-stmts.c...
Jakub Jelinek [Thu, 10 Nov 2011 08:29:52 +0000 (09:29 +0100)]
re PR tree-optimization/51000 (ICE: in vect_get_store_cost, at tree-vect-stmts.c:923 on powerpc-apple-darwin9)

PR tree-optimization/51000
* tree-vect-patterns.c (vect_recog_bool_pattern): If adding
a pattern stmt for a bool store, adjust DR_STMT too.
Don't handle bool conversions to single bit precision lhs.
* tree-vect-stmts.c (vect_remove_stores): If next is a pattern
stmt, remove its related stmt and free its stmt_vinfo.
(free_stmt_vec_info): Free also pattern stmt's vinfo and
pattern def stmt's vinfo.
* tree-vect-loop.c (destroy_loop_vec_info): Don't try to
free pattern stmt's vinfo here.
(vect_transform_loop): When calling vect_remove_stores,
do gsi_next first and don't call gsi_remove.  If not strided
store, free stmt vinfo for gsi_stmt (si) rather than stmt.

* gcc.dg/vect/pr51000.c: New test.

From-SVN: r181250

12 years agore PR c++/50837 ([c++0x] static_assert and constexpr in template class)
Paolo Carlini [Thu, 10 Nov 2011 02:27:16 +0000 (02:27 +0000)]
re PR c++/50837 ([c++0x] static_assert and constexpr in template class)

/cp
2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50837
* pt.c (tsubst_copy_and_build) [IDENTIFIER_NODE]: In C++11 mode
pass allow_non_integral_constant_expression_p = true to
finish_id_expression.

/testsuite
2011-11-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50837
* g++.dg/cpp0x/static_assert5.C: New.
* g++.dg/template/nontype13.C: Tweak.

From-SVN: r181248

12 years agolibitm: Work around assembler missing AVX insns.
Richard Henderson [Thu, 10 Nov 2011 00:29:38 +0000 (16:29 -0800)]
libitm: Work around assembler missing AVX insns.

From-SVN: r181246

12 years agoDaily bump.
GCC Administrator [Thu, 10 Nov 2011 00:18:57 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r181245

12 years agolibitm: Remove unused code.
Richard Henderson [Wed, 9 Nov 2011 22:54:55 +0000 (14:54 -0800)]
libitm: Remove unused code.

In particular, unused code that's presenting portability problems.

From-SVN: r181241

12 years agore PR c++/50972 ([C++0x] ICE on undeclared identifier)
Jason Merrill [Wed, 9 Nov 2011 22:25:25 +0000 (17:25 -0500)]
re PR c++/50972 ([C++0x] ICE on undeclared identifier)

PR c++/50972
* pt.c (maybe_instantiate_noexcept): Check the return value of
push_tinst_level.

From-SVN: r181240

12 years agore PR c++/51046 ([C++0x] ICE by unexpanded template param pack in range-based for)
Jason Merrill [Wed, 9 Nov 2011 22:25:12 +0000 (17:25 -0500)]
re PR c++/51046 ([C++0x] ICE by unexpanded template param pack in range-based for)

PR c++/51046
* parser.c (cp_parser_range_for): check_for_bare_parameter_packs.

From-SVN: r181239

12 years agore PR target/50911 (assertion failure in expand_vec_perm_interleave2 with -msse)
Jakub Jelinek [Wed, 9 Nov 2011 21:37:27 +0000 (22:37 +0100)]
re PR target/50911 (assertion failure in expand_vec_perm_interleave2 with -msse)

PR target/50911
* config/i386/i386.c (expand_vec_perm_interleave2): If d->vmode is
V4SImode, !TARGET_SSE2 and punpck[lh]* is needed, change dremap.vmode
to V4SFmode.

* gcc.dg/torture/vshuf-16.inc: Add interleave low and high
permutations.
* gcc.dg/torture/vshuf-32.inc: Likewise.
* gcc.dg/torture/vshuf-4.inc: Likewise.
* gcc.dg/torture/vshuf-8.inc: Likewise.

From-SVN: r181238

12 years ago* gcc.dg/tm/memopt-1.c: Fix up regexp.
Jakub Jelinek [Wed, 9 Nov 2011 21:36:13 +0000 (22:36 +0100)]
* gcc.dg/tm/memopt-1.c: Fix up regexp.

From-SVN: r181237

12 years agofunction.h (requires_stack_frame_p): New prototype.
Jakub Jelinek [Wed, 9 Nov 2011 21:28:57 +0000 (22:28 +0100)]
function.h (requires_stack_frame_p): New prototype.

* function.h (requires_stack_frame_p): New prototype.
* function.c (requires_stack_frame_p): No longer static.
* config/i386/i386.c (ix86_finalize_stack_realign_flags): If
stack_realign_fp was just a conservative guess for a function
which doesn't use sp/fp/argp at all, clear frame_pointer_needed
and stack realignment.

From-SVN: r181236

12 years agoallocator.h (__shrink_to_fit_aux::_S_do_it): Create the new object with the same...
Jonathan Wakely [Wed, 9 Nov 2011 21:14:03 +0000 (21:14 +0000)]
allocator.h (__shrink_to_fit_aux::_S_do_it): Create the new object with the same allocator.

* include/bits/allocator.h (__shrink_to_fit_aux::_S_do_it): Create
the new object with the same allocator.
* testsuite/23_containers/vector/capacity/shrink_to_fit2.cc: New.

From-SVN: r181235

12 years agogeneric-morestack.c: Include <string.h>.
Ian Lance Taylor [Wed, 9 Nov 2011 20:06:31 +0000 (20:06 +0000)]
generic-morestack.c: Include <string.h>.

libgcc/:
* generic-morestack.c: Include <string.h>.
(uintptr_type): Define.
(struct initial_sp): Add dont_block_signals field.  Reduce size of
extra array by 1.
(allocate_segment): Set prev field to NULL.  Don't set
__morestack_current_segment or __morestack_segments.
(__generic_morestack): Update current->prev and *pp after calling
allocate_segment.
(__morestack_block_signals): Don't do anything if
dont_block_signals is set.
(__morestack_unblock_signals): Likewise.
(__generic_findstack): Check for initial_sp == NULL.  Add casts to
uintptr_type.
(__splitstack_block_signals): New function.
(enum __splitstack_content_offsets): Define.
(__splitstack_getcontext, __splitstack_setcontext): New functions.
(__splitstack_makecontext): New function.
(__splitstack_block_signals_context): New function.
(__splitstack_find_context): New function.
* config/i386/morestack.S (__morestack_get_guard): New function.
(__morestack_set_guard, __morestack_make_guard): New functions.
* libgcc-std.ver.in: Add new functions to GCC_4.7.0.

gcc/testsuite/:
* lib/target-supports.exp (check_effective_target_ucontext_h): New
procedure.
* gcc.dg/split-5.c: New test.

From-SVN: r181234

12 years agolibitm: Avoid non-portable x86 branch prediction mnemonic.
Richard Henderson [Wed, 9 Nov 2011 19:51:49 +0000 (11:51 -0800)]
libitm: Avoid non-portable x86 branch prediction mnemonic.

From-SVN: r181233

12 years agosymbol.c (clear_sym_mark, [...]): Remove functions.
Tobias Burnus [Wed, 9 Nov 2011 19:36:54 +0000 (20:36 +0100)]
symbol.c (clear_sym_mark, [...]): Remove functions.

2011-11-09  Tobias Burnus  <burnus@net-b.de>

        * symbol.c (clear_sym_mark, traverse_ns): Remove functions.
        (count_st_nodes, do_traverse_symtree, fill_st_vector): New functions.
        (gfc_traverse_symtree, gfc_traverse_ns): Call do_traverse_symtree.

From-SVN: r181232

12 years agoPR c++/51043 - ICE in LTO
Dodji Seketeli [Wed, 9 Nov 2011 19:25:01 +0000 (19:25 +0000)]
PR c++/51043 - ICE in LTO

* cp-tree.h (TYPE_ALIAS_P, TYPE_TEMPLATE_INFO): Don't crash on
NULL TYPE_NAME.

From-SVN: r181231

12 years agoconfigure.ac: Add tool checks for READELF and READELF_FOR_TARGET.
Roland McGrath [Wed, 9 Nov 2011 18:57:26 +0000 (18:57 +0000)]
configure.ac: Add tool checks for READELF and READELF_FOR_TARGET.

2011-11-09  Roland McGrath  <mcgrathr@google.com>
* configure.ac: Add tool checks for READELF and READELF_FOR_TARGET.
* configure: Rebuild.
* Makefile.def (flags_to_pass): Add READELF_FOR_TARGET.
* Makefile.tpl (READELF, READELF_FOR_TARGET): New variables.
(HOST_EXPORTS): Add READELF, READELF_FOR_TARGET.
(BASE_FLAGS_TO_PASS): Add READELF_FOR_TARGET.
(BASE_TARGET_EXPORTS, EXTRA_HOST_FLAGS, EXTRA_TARGET_FLAGS):
Add READELF.
* Makefile.in: Rebuild.

From-SVN: r181230

12 years agolibitm: de-ELF-ize x86/sjlj.S.
Richard Henderson [Wed, 9 Nov 2011 18:38:21 +0000 (10:38 -0800)]
libitm: de-ELF-ize x86/sjlj.S.

        * config/x86/sjlj.S: Protect elf directives with __ELF__.
        Protect .note.GNU-stack with __linux__.

From-SVN: r181229