gcc.git
12 years ago[multiple changes]
Richard Guenther [Mon, 2 Jul 2012 11:33:21 +0000 (11:33 +0000)]
[multiple changes]

2012-07-02  Richard Guenther  <rguenther@suse.de>

Merge from graphite branch
2011-07-21  Tobias Grosser  <tobias@grosser.es>

* configure: Regenerated.
* config/cloog.m4: Remove support for CLooG-ppl and CLooG-parma,
both cloog.org and legacy versions. The only supported version will
be CLooG with the isl backend.

2011-07-21  Tobias Grosser  <tobias@grosser.es>

* configure: Regenerated.
* configure.ac: Require cloog isl 0.17.0

2011-07-21  Tobias Grosser  <tobias@grosser.es>

* configure: Regenerated.
* config/cloog.m4: Do not define CLOOG_ORG

gcc/
* Makefile.in (graphite-clast-to-gimple.o, graphite-cloog-util.o):
Remove graphite-cloog-util.h.
* graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop,
build_iv_mapping, translate_clast_user, translate_clast,
free_scattering, initialize_cloog_names, build_cloog_prog,
create_params_index): Do not use old compatibility functions.
(clast_name_to_index, set_cloog_options): Remove code for legacy cloog.
* graphite-cloog-util.c (openscop_print_cloog_matrix): Do not use old
compatibility functions.
(new_Cloog_Scattering_from_ppl_Polyhedron): Remove code for legacy
cloog.
* graphite-cloog-util.h: Remove include of graphite-cloog-util.h.
* graphite.c (graphite.c): Do not call outdated cloog_initialize() and
cloog_finalize().
* graphite-cloog-compat.h: Remove.

2011-08-09  Tobias Grosser <tobias@grosser.es>

gcc/
* graphite-clast-to-gimple.c (new_clast_name_index): Store a copy
of the string, no just a reference.
(clast_name_index): Add a new field, that specifies if we need to free
the name.
(free_clast_name_index): If necessary, free the name string.
(clast_name_index_elt_info): Calculate the hash based on the string
content, not the memory location it is stored in.
(clast_name_to_level): Specify that we do not need to free the name.
(clast_name_to_index): Dito.
(clast_name_to_lb_ub): Dito.
(eq_clast_name_indexes): Compare the strings, not their base pointers.
(free_scattering): Removed.
(initialize_cloog_names): Renamed to add_names_to_union_domain().
(add_names_to_union_domain): Changed to work on a union_domain,
instead of a CloogNames structure.
(build_cloog_prog): Removed.
(build_cloog_union_domain): New.
(generate_cloog_input): New.
(scop_to_clast): Use CloogInput instead of CloogProgram.
(print_generated_program): Adapt to new scop_to_clast() and do not
print the CloogProgram any more.
(create_params_index): Removed, functionality integrated in
add_names_to_union_domain().
(gloog): Adapt to new scop_to_clast().
* graphite-clast-to-gimple.h (scop_to_clast): Remove.

2012-01-11  Tobias Grosser <tobias@grosser.es>

* graphite-clast-to-gimple.c (clast_name_to_index,
clast_name_to_lb_ub, clast_name_to_gcc): Change types.
(clast_to_gcc_expression): Add clast_expr_name as a new
case. Do not assume a clast_expr_term points always to a
clast_expr_name.
(type_for_clast_term): Do not assume a clast_expr_term points always to
a clast_expr_name.
(type_for_clast_name): New.
(type_for_clast_expr): Add clast_expr_name as a new case.

2011-08-03  Sebastian Pop <sebpop@gmail.com>

* graphite-cloog-util.c (new_Cloog_Domain_from_ppl_Polyhedron,
new_Cloog_Scattering_from_ppl_Polyhedron,
new_Cloog_Domain_from_ppl_Pointset_Powerset): Remove ATTRIBUTE_UNUSED.

From-SVN: r189155

12 years agocrontab: Disable snapshots from gcc-4_5-branch.
Richard Guenther [Mon, 2 Jul 2012 09:16:29 +0000 (09:16 +0000)]
crontab: Disable snapshots from gcc-4_5-branch.

2012-07-02  Richard Guenther  <rguenther@suse.de>

        * crontab: Disable snapshots from gcc-4_5-branch.
        * update_version_svn: Ingore gcc-4_5-branch.

From-SVN: r189110

12 years agore PR tree-optimization/53645 (Missed optimization for vector integer division lowering)
Jakub Jelinek [Mon, 2 Jul 2012 06:56:24 +0000 (08:56 +0200)]
re PR tree-optimization/53645 (Missed optimization for vector integer division lowering)

PR tree-optimization/53645
* tree-vect-generic.c (expand_vector_divmod): Use TYPE_MODE (type)
instead of TYPE_MODE (wider_type) as can_vec_perm_p argument.

From-SVN: r189108

12 years agoDaily bump.
GCC Administrator [Mon, 2 Jul 2012 00:18:35 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r189106

12 years agore PR target/53447 (missed optimization of 64bit ALU operation with small constant)
Wei Guozhi [Sun, 1 Jul 2012 15:14:52 +0000 (15:14 +0000)]
re PR target/53447 (missed optimization of 64bit ALU operation with small constant)

PR target/53447
* config/arm/arm-protos.h (const_ok_for_dimode_op): New prototype.
* config/arm/arm.c (const_ok_for_dimode_op): New function.
* config/arm/constraints.md (Dd): New constraint.
* config/arm/predicates.md (arm_adddi_operand): New predicate.
* config/arm/arm.md (adddi3): Extend it to handle constants.
(arm_adddi3): Likewise.
(addsi3_carryin_<optab>): Extend it to handle sbc case.
(addsi3_carryin_alt2_<optab>): Likewise.
* config/arm/neon.md (adddi3_neon): Extend it to handle constants.

* gcc.target/arm/pr53447-1.c: New testcase.
* gcc.target/arm/pr53447-2.c: New testcase.
* gcc.target/arm/pr53447-3.c: New testcase.
* gcc.target/arm/pr53447-4.c: New testcase.

From-SVN: r189102

12 years agoChangeLog: Fix whitespace.
Uros Bizjak [Sun, 1 Jul 2012 08:22:19 +0000 (10:22 +0200)]
ChangeLog: Fix whitespace.

* ChangeLog: Fix whitespace.
* c-family/ChangeLog: Ditto.
* testsuite/ChangeLog: Ditto.

From-SVN: r189101

12 years agoc-pch.c (c_common_write_pch): Remove unused variables.
Uros Bizjak [Sun, 1 Jul 2012 08:13:00 +0000 (10:13 +0200)]
c-pch.c (c_common_write_pch): Remove unused variables.

* c-pch.c (c_common_write_pch): Remove unused variables.

From-SVN: r189100

12 years agoDaily bump.
GCC Administrator [Sun, 1 Jul 2012 00:17:50 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r189099

12 years agocoverage.c (bbg_file_stamp): New.
Nathan Sidwell [Sat, 30 Jun 2012 11:42:52 +0000 (11:42 +0000)]
coverage.c (bbg_file_stamp): New.

* coverage.c (bbg_file_stamp): New.
(read_counts_file): Merge incoming stamp with bbg_file_stamp.
(build_info): Write bbg_file_stamp.
(coverage_init): Initialize bbg_file_stamp.  Read counts file
before writing graph header.
(coverage_finish): Don't unlink the data file if we can generate a
unique file stamp.
* tree.h (crc32_unsigned): Declare.
* tree.c (crc32_unsigned_bits): New, broken out of ...
(crc32_byte): ... here.  Use it.
(crc32_unsigned): New.

From-SVN: r189095

12 years agodwarf2out.c (add_pubname_string): Don't check for want_pubnames.
Cary Coutant [Sat, 30 Jun 2012 00:46:44 +0000 (00:46 +0000)]
dwarf2out.c (add_pubname_string): Don't check for want_pubnames.

2012-06-29   Cary Coutant  <ccoutant@google.com>

gcc/
* dwarf2out.c (add_pubname_string): Don't check for want_pubnames.
(gen_subprogram_die): Don't add pubname if want_pubnames is false.
(gen_variable_die): Likewise.
(gen_namespace_die): Likewise.

From-SVN: r189094

12 years agoDaily bump.
GCC Administrator [Sat, 30 Jun 2012 00:17:59 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r189093

12 years agotree-eh.c (lower_try_finally_switch): Really put the location of the last statement...
Eric Botcazou [Fri, 29 Jun 2012 22:39:29 +0000 (22:39 +0000)]
tree-eh.c (lower_try_finally_switch): Really put the location of the last statement of the finally block onto the switch.

* tree-eh.c (lower_try_finally_switch): Really put the location of the
last statement of the finally block onto the switch.

From-SVN: r189086

12 years agoUse int for WCHAR_TYPE only for TARGET_LP64
H.J. Lu [Fri, 29 Jun 2012 22:21:30 +0000 (22:21 +0000)]
Use int for WCHAR_TYPE only for TARGET_LP64

PR target/53539
* config/i386/gnu-user64.h (WCHAR_TYPE): Use "int" only for
TARGET_LP64.

From-SVN: r189085

12 years agodwarf2out.c (add_pubname): Add comment.
Sterling Augustine [Fri, 29 Jun 2012 22:08:06 +0000 (22:08 +0000)]
dwarf2out.c (add_pubname): Add comment.

2012-06-29  Sterling Augustine  <saugustine@google.com>

* dwarf2out.c (add_pubname): Add comment.
(add_pubtype): Fix indentation.
(gen_enumeration_type_die): Likewise.

From-SVN: r189084

12 years agotree-vect-generic.c (expand_vector_divmod): For even/odd widening multiply, put even...
Jakub Jelinek [Fri, 29 Jun 2012 20:26:51 +0000 (22:26 +0200)]
tree-vect-generic.c (expand_vector_divmod): For even/odd widening multiply, put even always as first argument to VEC_PERM_EXPR.

* tree-vect-generic.c (expand_vector_divmod): For even/odd
widening multiply, put even always as first argument to
VEC_PERM_EXPR.

From-SVN: r189082

12 years agoUse builtin_widen_mult_even/odd in tree-vect-generic division expansion
Richard Henderson [Fri, 29 Jun 2012 16:18:15 +0000 (09:18 -0700)]
Use builtin_widen_mult_even/odd in tree-vect-generic division expansion

        * tree-vect-generic.c: Include target.h.
        (expand_vector_divmod): Use builtin_mul_widen_even/odd if supported.
        * Makefile.in (tree-vect-generic.o): Update.

From-SVN: r189081

12 years agoconfigure.ac: Skip C if explicitly selected.
Steven Bosscher [Fri, 29 Jun 2012 16:12:35 +0000 (16:12 +0000)]
configure.ac: Skip C if explicitly selected.

toplevel/
* configure.ac: Skip C if explicitly selected.
* configure: Regenerate.

gcc/
* configure.ac: Remove special gtfiles case for C.
* configure: Regenerate.
* Makefile.in: Remove C front-end hooks and build hooks that
will be picked up from c/Make-lang.in now.
Add tree-mudflap to C_COMMON_OBJS.
* gengtype.c (files_rules): Adjust gt-files for c/c-decl.c.
* config/vms/vms.c: Look for c-tree.h in c/.
* doc/gty.texi: Remove reference to c-config-lang.in.
* doc/sourcebuild.texi: Document the c/ subdirectory.

c/
* Make-lang.in: New file, rules migrated from gcc/Makefile.in
and add language Makefile hooks.
* config-lang.in: New file.
* c-config-lang.in: Moved from gcc/config-lang.in to here, and
add the required "normal" config-lang.in rules.
* c-lang.h: Moved from gcc/ to here.
* c-tree.h: Likewise.
* c-objc-common.c: Likewise.
* c-objc-common.h: Likewise.
* c-typeck.c: Likewise.
* c-convert.c: Likewise.
* c-lang.c: Likewise.
* c-aux-info.c: Likewise.
* c-errors.c: Likewise.
* gccspec.c: Likewise.
* c-decl.c: Likewise.  Include gt-c-c-decl.h, not gt-c-decl.h.
* c-parser.c: Likewise.  Include gt-c-c-parser.h, not gt-c-parser.h.

c-family/
* cppspec.c: Moved from gcc/ to here.

objc/
* Make-ang.in: Adjust for move of C front-end files.
* config-lang.in: Likewise.
* objc-encoding.c: Look for cp-tree.h in cp/, and for c-tree.h
and c-lang.h in c/.
* objc-runtime-shared-support.c: Likewise.
* objc-next-runtime-abi-01.c: Likewise.
* objc-next-runtime-abi-02.c: Likewise.
* objc-gnu-runtime-abi-01.c: Likewise.
* objc-act.c: Likewise.
* objc-lang.c: Likewise.

cp/
* Make-lang.in: Remove tree-mudflap.o from CXX_AND_OBJCXX_OBJS.

From-SVN: r189080

12 years agosystem.h (CASE_USE_BIT_TESTS): Poison.
Steven Bosscher [Fri, 29 Jun 2012 14:48:08 +0000 (14:48 +0000)]
system.h (CASE_USE_BIT_TESTS): Poison.

* system.h (CASE_USE_BIT_TESTS): Poison.
* stmt.c (CASE_USE_BIT_TESTS): Fold away into its only user ...
(expand_switch_using_bit_tests_p): ...here.
* doc/tm.texi.in (CASE_USE_BIT_TESTS): Remove documentation.
* doc/tm.texi (CASE_USE_BIT_TESTS): Regenerate.

From-SVN: r189078

12 years agore PR tree-optimization/47061 (VRP doesn't propagate through x<<=1, but it does for...
Richard Guenther [Fri, 29 Jun 2012 14:27:24 +0000 (14:27 +0000)]
re PR tree-optimization/47061 (VRP doesn't propagate through x<<=1, but it does for x*=2)

2012-06-29  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/47061
* gcc.dg/tree-ssa/vrp71.c: New testcase.

From-SVN: r189076

12 years agore PR tree-optimization/37541 (VRP fails to optimize single-bit ranges)
Richard Guenther [Fri, 29 Jun 2012 13:56:51 +0000 (13:56 +0000)]
re PR tree-optimization/37541 (VRP fails to optimize single-bit ranges)

2012-06-29  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/37541
* gcc.dg/tree-ssa/pr37508.c: Adjust and un-XFAIL.

From-SVN: r189075

12 years agosystem.h (IFCVT_EXTRA_FIELDS): Poison.
Steven Bosscher [Fri, 29 Jun 2012 13:56:40 +0000 (13:56 +0000)]
system.h (IFCVT_EXTRA_FIELDS): Poison.

* system.h (IFCVT_EXTRA_FIELDS): Poison.
(IFCVT_INIT_EXTRA_FIELDS): Poison.
* basic-block.h (struct ce_if_block): Remove IFCVT_EXTRA_FIELDS.
* ifcvt.c (find_if_header): Use IFCVT_MACHDEP_INIT instead of
IFCVT_INIT_EXTRA_FIELDS.
* gengtype-parse.c (struct_field_seq): Remove obsolete comment.
* config/frv/frv.h (IFCVT_INIT_EXTRA_FIELDS): Rename to
IFCVT_MACHDEP_INIT.
* config/frv/frv.c (frv_ifcvt_init_extra_fields): Rename to
frv_ifcvt_machdep_init.
* doc/tm.texi.in (IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS):
Remove documentation.
(IFCVT_MACHDEP_INIT): Document.
* doc/tm.texi: Regenerate.

From-SVN: r189074

12 years agore PR tree-optimization/52589 (VRP missed optimization)
Richard Guenther [Fri, 29 Jun 2012 13:17:44 +0000 (13:17 +0000)]
re PR tree-optimization/52589 (VRP missed optimization)

2012-06-29  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/52589
* gcc.dg/tree-ssa/vrp70.c: New testcase.

From-SVN: r189073

12 years agocopying-lib.texi (Library Copying): Don't use @heading inside @enumerate.
Andreas Schwab [Fri, 29 Jun 2012 10:59:48 +0000 (10:59 +0000)]
copying-lib.texi (Library Copying): Don't use @heading inside @enumerate.

* copying-lib.texi (Library Copying): Don't use @heading inside
@enumerate.

From-SVN: r189072

12 years ago* config/lm32/lm32.c (lm32_compute_frame_size): Fix typo.
Nick Clifton [Fri, 29 Jun 2012 08:45:32 +0000 (08:45 +0000)]
* config/lm32/lm32.c (lm32_compute_frame_size): Fix typo.

From-SVN: r189067

12 years agotree-vect-stmts.c (vectorizable_operation): Check both VEC_WIDEN_MULT_LO_EXPR and...
Jakub Jelinek [Fri, 29 Jun 2012 05:51:08 +0000 (07:51 +0200)]
tree-vect-stmts.c (vectorizable_operation): Check both VEC_WIDEN_MULT_LO_EXPR and VEC_WIDEN_MULT_HI_EXPR optabs.

* tree-vect-stmts.c (vectorizable_operation): Check both
VEC_WIDEN_MULT_LO_EXPR and VEC_WIDEN_MULT_HI_EXPR optabs.
Verify that operand[0]'s mode is TYPE_MODE (wide_vectype).

From-SVN: r189064

12 years ago* g++.dg/cpp0x/nullptr19.c: Remove exta directives on same line.
Janis Johnson [Fri, 29 Jun 2012 03:56:57 +0000 (03:56 +0000)]
* g++.dg/cpp0x/nullptr19.c: Remove exta directives on same line.

From-SVN: r189063

12 years agoerror46.C: Add missing comment to dg-message.
Janis Johnson [Fri, 29 Jun 2012 03:56:08 +0000 (03:56 +0000)]
error46.C: Add missing comment to dg-message.

* g++.dg/template/error46.C: Add missing comment to dg-message.
* g++.dg/template/crash107.C: Likewise.
* g++.dg/template/error47.C: Likewise.
* g++.dg/template/crash108.C: Likewise.
* g++.dg/overload/operator5.C: Likewise.

From-SVN: r189062

12 years agoWstrict-aliasing-converted-assigned.c: Fix syntax errors in dg-message directives...
Janis Johnson [Fri, 29 Jun 2012 03:55:21 +0000 (03:55 +0000)]
Wstrict-aliasing-converted-assigned.c: Fix syntax errors in dg-message directives, add comments.

* gcc.dg/Wstrict-aliasing-converted-assigned.c: Fix syntax
errors in dg-message directives, add comments.

From-SVN: r189061

12 years agoDaily bump.
GCC Administrator [Fri, 29 Jun 2012 00:18:55 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r189060

12 years agoconstexpr-52672.C (ul_ptr): Use SIZE_TYPE instead of hard-coded 'unsigned long'.
Kai Tietz [Thu, 28 Jun 2012 20:29:20 +0000 (22:29 +0200)]
constexpr-52672.C (ul_ptr): Use SIZE_TYPE instead of hard-coded 'unsigned long'.

        * g++.dg/cpp0x/constexpr-52672.C (ul_ptr): Use SIZE_TYPE instead of
        hard-coded 'unsigned long'.

From-SVN: r189056

12 years agoDocument MULT_HIGHPART_EXPR
Richard Henderson [Thu, 28 Jun 2012 19:01:28 +0000 (12:01 -0700)]
Document MULT_HIGHPART_EXPR

From-SVN: r189054

12 years agore PR tree-optimization/51581 (Integer division by constant is not vectorized)
Jakub Jelinek [Thu, 28 Jun 2012 17:53:58 +0000 (19:53 +0200)]
re PR tree-optimization/51581 (Integer division by constant is not vectorized)

PR tree-optimization/51581
* tree-vect-stmts.c (permute_vec_elements): Add forward decl.
(vectorizable_operation): Handle vectorization of MULT_HIGHPART_EXPR
also using VEC_WIDEN_MULT_*_EXPR or builtin_mul_widen_* plus
VEC_PERM_EXPR if vector MULT_HIGHPART_EXPR isn't supported.
* tree-vect-patterns.c (vect_recog_divmod_pattern): Use
MULT_HIGHPART_EXPR instead of VEC_WIDEN_MULT_*_EXPR and shifts.

* gcc.dg/vect/pr51581-4.c: New test.

From-SVN: r189053

12 years agore PR tree-optimization/53645 (Missed optimization for vector integer division lowering)
Jakub Jelinek [Thu, 28 Jun 2012 17:52:51 +0000 (19:52 +0200)]
re PR tree-optimization/53645 (Missed optimization for vector integer division lowering)

PR tree-optimization/53645
* tree-vect-generic.c (expand_vector_divmod): Use MULT_HIGHPART_EXPR
instead of VEC_WIDEN_MULT_{HI,LO}_EXPR followed by VEC_PERM_EXPR
if possible.

* gcc.c-torture/execute/pr53645-2.c: New test.

From-SVN: r189052

12 years agore PR other/53595 (Code size increase of +10% between two 4.7.1 snapshot)
Georg-Johann Lay [Thu, 28 Jun 2012 13:53:51 +0000 (13:53 +0000)]
re PR other/53595 (Code size increase of +10% between two 4.7.1 snapshot)

PR 53595
* config/avr/avr.c (avr_hard_regno_call_part_clobbered): New.
* config/avr/avr-protos.h (avr_hard_regno_call_part_clobbered): New.
* config/avr/avr.h (HARD_REGNO_CALL_PART_CLOBBERED): Forward to
avr_hard_regno_call_part_clobbered.

From-SVN: r189049

12 years agoconfigure.ac (CFLAGS_FOR_TARGET, [...]): Make sure they contain -O2.
Christophe Lyon [Thu, 28 Jun 2012 11:50:15 +0000 (13:50 +0200)]
configure.ac (CFLAGS_FOR_TARGET, [...]): Make sure they contain -O2.

* configure.ac (CFLAGS_FOR_TARGET, CXXFLAGS_FOR_TARGET): Make sure
they contain -O2.
* configure: Regenerate.

From-SVN: r189046

12 years agore PR middle-end/53790 (ICE on dereferencing a extern union in asm statement)
Richard Guenther [Thu, 28 Jun 2012 11:45:14 +0000 (11:45 +0000)]
re PR middle-end/53790 (ICE on dereferencing a extern union in asm statement)

2012-06-28  Richard Guenther  <rguenther@suse.de>

PR middle-end/53790
* expr.c (expand_expr_real_1): Verify if the type is complete
before inspecting its size.

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

From-SVN: r189045

12 years agogpl.texi: Remove.
Andreas Schwab [Thu, 28 Jun 2012 11:42:36 +0000 (11:42 +0000)]
gpl.texi: Remove.

* doc/include/gpl.texi: Remove.
* doc/sourcebuild.texi (Texinfo Manuals): Don't mention gpl.texi.

From-SVN: r189044

12 years agore PR tree-optimization/53645 (Missed optimization for vector integer division lowering)
Jakub Jelinek [Thu, 28 Jun 2012 11:38:01 +0000 (13:38 +0200)]
re PR tree-optimization/53645 (Missed optimization for vector integer division lowering)

PR tree-optimization/53645
* tree-vect-generic.c (add_rshift): New function.
(expand_vector_divmod): New function.
(expand_vector_operation): Use it for vector integer
TRUNC_{DIV,MOD}_EXPR by VECTOR_CST.
* tree-vect-patterns.c (vect_recog_divmod_pattern): Replace
unused lguup variable with dummy_int.

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

From-SVN: r189043

12 years ago* gnat.dg/deep_old.adb, gnat.dg/old_errors.adb: Removed, obsolete.
Arnaud Charlet [Thu, 28 Jun 2012 11:08:49 +0000 (11:08 +0000)]
* gnat.dg/deep_old.adb, gnat.dg/old_errors.adb: Removed, obsolete.

From-SVN: r189042

12 years ago* libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
Andreas Schwab [Thu, 28 Jun 2012 09:01:38 +0000 (09:01 +0000)]
* libgomp.texi: Include gpl_v3.texi instead of gpl.texi.

From-SVN: r189041

12 years agoexpr.c (convert_move): Latch mem integer inputs into a register before expanding...
Olivier Hainque [Thu, 28 Jun 2012 07:56:40 +0000 (07:56 +0000)]
expr.c (convert_move): Latch mem integer inputs into a register before expanding a multi-instructions...

        * expr.c (convert_move): Latch mem integer inputs into a
        register before expanding a multi-instructions sequence.

From-SVN: r189040

12 years agoc++config: Remove __regex nested namespace.
Benjamin Kosnik [Thu, 28 Jun 2012 07:50:34 +0000 (07:50 +0000)]
c++config: Remove __regex nested namespace.

2012-06-27  Benjamin Kosnik  <bkoz@redhat.com>

* include/bits/c++config: Remove __regex nested namespace.
* include/bits/regex_compiler.h: Change __regex to
__detail. Adjust doxygen markup, add regex-details group.
* include/bits/regex_constants.h: Same.
* include/bits/regex_cursor.h: Same.
* include/bits/regex_error.h: Same.
* include/bits/regex_grep_matcher.h: Same.
* include/bits/regex_grep_matcher.tcc: Same.
* include/bits/regex_nfa.h: Same.
* include/bits/regex_nfa.tcc: Same.
* include/bits/regex.h: Same. Remove static from global constants.

* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line numbers.

* include/bits/locale_classes.tcc: Add use_facet, has_facet to
locales group.

From-SVN: r189039

12 years agore PR debug/53671 (Many guality test failures)
Alexandre Oliva [Thu, 28 Jun 2012 07:41:02 +0000 (07:41 +0000)]
re PR debug/53671 (Many guality test failures)

PR debug/53671
PR debug/49888
* gcc.dg/guality/pr49888.c: Account for the possibility that
the variable is optimized out at the first test.

From-SVN: r189038

12 years agore PR rtl-optimization/53706 (Bootstrap failure due to "Invalid write of size 8 at...
Alexandre Oliva [Thu, 28 Jun 2012 07:39:51 +0000 (07:39 +0000)]
re PR rtl-optimization/53706 (Bootstrap failure due to "Invalid write of size 8 at 0xBDC35E: variable_htab_free (var-tracking.c:1418))

PR debug/53706
PR debug/47624
* var-tracking.c (vt_emit_notes): Release loc_exp_dep_pool...
(vt_finalize): ... here instead, if needed.

From-SVN: r189037

12 years agore PR debug/53740 (--enable-checking=yes,rtl bootstrap failure with ada)
Alexandre Oliva [Thu, 28 Jun 2012 07:39:25 +0000 (07:39 +0000)]
re PR debug/53740 (--enable-checking=yes,rtl bootstrap failure with ada)

PR debug/53740
PR debug/52983
PR debug/48866
* dce.c (word_dce_process_block): Check whether inserting debug
temps are needed even for needed insns.
(dce_process_block): Likewise.
* df-problems.c (dead_debug_add): Add comment about multi-regs.
(dead_debug_insert_temp): Likewise.  Don't subreg when we're
setting fewer regs than a multi-reg requires.

From-SVN: r189036

12 years agoDaily bump.
GCC Administrator [Thu, 28 Jun 2012 00:19:19 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r189033

12 years agoalpha: Cleaup builtins and folding
Richard Henderson [Wed, 27 Jun 2012 21:30:57 +0000 (14:30 -0700)]
alpha: Cleaup builtins and folding

        * config/alpha/alpha.c (alpha_dimode_u): New.
        (alpha_init_builtins): Initialize it, and use it.
        (alpha_fold_builtin_cmpbge): Use alpha_dimode_u.
        (alpha_fold_builtin_zapnot, alpha_fold_builtin_insxx): Likewise.
        (alpha_fold_vector_minmax, alpha_fold_builtin_perr): Likewise.
        (alpha_fold_builtin_pklb, alpha_fold_builtin_pkwb): Likewise.
        (alpha_fold_builtin_unpkbl, alpha_fold_builtin_unpkbw): Likewise.
        (alpha_fold_builtin_cttz, alpha_fold_builtin_ctlz): Likewise.
        (alpha_fold_builtin_ctpop): Likewise.
        (alpha_fold_builtin_umulh): Remove.
        (alpha_fold_builtin): Use MULT_HIGHPART_EXPR for UMULH; fix
        typo in MAX_ARGS check.

From-SVN: r189028

12 years agoAdd MULT_HIGHPART_EXPR
Richard Henderson [Wed, 27 Jun 2012 21:30:51 +0000 (14:30 -0700)]
Add MULT_HIGHPART_EXPR

        * tree.def (MULT_HIGHPART_EXPR): New.
        * cfgexpand.c (expand_debug_expr): Ignore it.
        * expr.c (expand_expr_real_2): Handle it.
        * fold-const.c (int_const_binop_1): Likewise.
        * optabs.c (optab_for_tree_code): Likewise.
        * tree-cfg.c (verify_gimple_assign_binary): Likewise.
        * tree-inline.c (estimate_operator_cost): Likewise.
        * tree-pretty-print.c (dump_generic_node): Likewise.
        (op_code_prio, op_symbol_code): Likewise.
        * tree.c (commutative_tree_code): Likewise.  Also handle
        WIDEN_MULT_EXPR, VEC_WIDEN_MULT_HI_EXPR, VEC_WIDEN_MULT_LO_EXPR.

From-SVN: r189027

12 years agoi386: Fix logic error in r188785
Richard Henderson [Wed, 27 Jun 2012 21:30:41 +0000 (14:30 -0700)]
i386: Fix logic error in r188785

PR target/53749
        * config/i386/i386.c (ix86_rtx_costs): Fix typo vs UNITS_PER_WORD
        in 2012-06-23 change.  Adjust two other DImode tests as well.

From-SVN: r189026

12 years agoparser.c (cp_parser_check_for_invalid_template_id): tag_type parm.
Jason Merrill [Wed, 27 Jun 2012 19:19:18 +0000 (15:19 -0400)]
parser.c (cp_parser_check_for_invalid_template_id): tag_type parm.

* parser.c (cp_parser_check_for_invalid_template_id): tag_type parm.
(cp_parser_simple_type_specifier, cp_parser_class_head): Adjust.
(cp_parser_elaborated_type_specifier): Adjust.
* decl.c (duplicate_decls): Return error_mark_node on template
mismatch.

From-SVN: r189025

12 years agore PR c++/53563 (ICE in start_decl, at cp/decl.c:4427)
Jason Merrill [Wed, 27 Jun 2012 19:19:09 +0000 (15:19 -0400)]
re PR c++/53563 (ICE in start_decl, at cp/decl.c:4427)

PR c++/53563
* parser.c (cp_parser_template_id): Add tag_type parm.
(cp_parser_template_name): Likewise.
(cp_parser_id_expression, cp_parser_unqualified_id): Adjust.
(cp_parser_pseudo_destructor_name, cp_parser_type_name): Adjust.
(cp_parser_simple_type_specifier, cp_parser_class_name): Adjust.
(cp_parser_elaborated_type_specifier, cp_parser_class_head): Adjust.

From-SVN: r189024

12 years agocomment
Jason Merrill [Wed, 27 Jun 2012 19:19:01 +0000 (15:19 -0400)]
comment

From-SVN: r189023

12 years agore PR fortran/41951 ([OOP] Not diagnosing ambiguous operators (TB vs. INTERFACE))
Janus Weil [Wed, 27 Jun 2012 17:38:00 +0000 (19:38 +0200)]
re PR fortran/41951 ([OOP] Not diagnosing ambiguous operators (TB vs. INTERFACE))

2012-06-27  Janus Weil  <janus@gcc.gnu.org>

PR fortran/41951
PR fortran/49591
* interface.c (check_new_interface): Rename, add 'loc' argument,
make non-static.
(gfc_add_interface): Rename 'check_new_interface'
* gfortran.h (gfc_check_new_interface): Add prototype.
* resolve.c (resolve_typebound_intrinsic_op): Add typebound operator
targets to non-typebound operator list.

2012-06-27  Janus Weil  <janus@gcc.gnu.org>

PR fortran/41951
PR fortran/49591
* gfortran.dg/typebound_operator_16.f03: New.

From-SVN: r189022

12 years agosse4_1-pmuldq.c (TEST): Initialize even src1.i and src2.i fields even in the second...
Jakub Jelinek [Wed, 27 Jun 2012 14:45:55 +0000 (16:45 +0200)]
sse4_1-pmuldq.c (TEST): Initialize even src1.i and src2.i fields even in the second half of the arrays.

* gcc.target/i386/sse4_1-pmuldq.c (TEST): Initialize
even src1.i and src2.i fields even in the second half of the arrays.

From-SVN: r189018

12 years agore PR c++/51033 (generic vector subscript and shuffle support was not added to C++)
Ramana Radhakrishnan [Wed, 27 Jun 2012 14:19:17 +0000 (14:19 +0000)]
re PR c++/51033 (generic vector subscript and shuffle support was not added to C++)

2012-06-27  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>

PR C++/51033
* semantics.c (constexpr_call): Fix typo in comment.
(cxx_eval_vec_perm_expr): New.
(cxx_eval_constant_expression): Fold VEC_PERM_EXPRs.

2012-06-27  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>

PR c++/51033.
* g++.dg/torture/vshuf-16.inc: New test.
* g++.dg/torture/vshuf-2.inc: New test.
* g++.dg/torture/vshuf-4.inc: New test.
* g++.dg/torture/vshuf-8.inc: New test.
* g++.dg/torture/vshuf-main.inc: New test.
* g++.dg/torture/vshuf-v16hi.C: New test.
* g++.dg/torture/vshuf-v16qi.C: New test.
* g++.dg/torture/vshuf-v2df.C: New test.
* g++.dg/torture/vshuf-v2di.C: New test.
* g++.dg/torture/vshuf-v2sf.C: New test.
* g++.dg/torture/vshuf-v2si.C: New test.
* g++.dg/torture/vshuf-v4df.C: New test.
* g++.dg/torture/vshuf-v4di.C: New test.
* g++.dg/torture/vshuf-v4sf.C: New test.
* g++.dg/torture/vshuf-v4si.C: New test.
* g++.dg/torture/vshuf-v8hi.C: New test.
* g++.dg/torture/vshuf-v8qi.C: New test.
* g++.dg/torture/vshuf-v8si.C: New test.

From-SVN: r189017

12 years agore PR preprocessor/37215 (ICE on 'gcc -E -dM -fpreprocessed - < /dev/null')
Kai Tietz [Wed, 27 Jun 2012 14:03:08 +0000 (16:03 +0200)]
re PR preprocessor/37215 (ICE on 'gcc -E -dM -fpreprocessed - < /dev/null')

        PR preprocessor/37215
        * c-ppoutput.c (preprocess_file): Check for nonempty buffer.

From-SVN: r189016

12 years agorx.md (comparesi3_extend): Remove = modifier from input operand.
Nick Clifton [Wed, 27 Jun 2012 13:03:47 +0000 (13:03 +0000)]
rx.md (comparesi3_extend): Remove = modifier from input operand.

* config/rx/rx.md (comparesi3_extend): Remove = modifier from
input operand.

From-SVN: r189014

12 years agore PR middle-end/53676 (empty loop is not always removed now)
Richard Guenther [Wed, 27 Jun 2012 11:32:30 +0000 (11:32 +0000)]
re PR middle-end/53676 (empty loop is not always removed now)

2012-06-27  Richard Guenther  <rguenther@suse.de>

PR middle-end/53676
* tree-chrec.c (chrec_convert_1): Represent truncation to
a type with undefined overflow as truncation to an unsigned
type converted to the type with undefined overflow.
* tree-scalar-evolution.c (interpret_rhs_expr): For computing
the scalar evolution of a truncated widened operation avoid
looking at the non-existing evolution of the widened operation
result.

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

From-SVN: r189013

12 years agore PR tree-optimization/53774 (Reassociator generates non-canonical addition)
Richard Guenther [Wed, 27 Jun 2012 11:29:04 +0000 (11:29 +0000)]
re PR tree-optimization/53774 (Reassociator generates non-canonical addition)

2012-06-27  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/53774
* tree-ssa-reassoc.c (get_rank): All default defs have
precomputed rank.
(init_reassoc): Precompute rank for all SSA default defs.

From-SVN: r189012

12 years ago* config/rx/rx.md (simple_return): Use the simple_return rtx.
Nick Clifton [Wed, 27 Jun 2012 07:22:52 +0000 (07:22 +0000)]
* config/rx/rx.md (simple_return): Use the simple_return rtx.

From-SVN: r189010

12 years agoi386: Correct costs on CONST_DOUBLE and CONST_VECTOR
Richard Henderson [Wed, 27 Jun 2012 03:20:08 +0000 (20:20 -0700)]
i386: Correct costs on CONST_DOUBLE and CONST_VECTOR

We were always falling through to the memory default.
Also use standard_sse_constant_p on CONST_VECTOR.

        * config/i386/i386.c (ix86_rtx_costs): Use standard_sse_constant_p
        and don't fall thru from standard_80387_constant_p to the memory
        fallback,

From-SVN: r189007

12 years agoi386: Implement widen_smul_*_v4si for plain sse2
Richard Henderson [Wed, 27 Jun 2012 03:19:59 +0000 (20:19 -0700)]
i386: Implement widen_smul_*_v4si for plain sse2

If we don't implement this pattern, the vectorizer is happy to
unpack the v4si and use the full mulv2di3.  This results in
more element shuffling than is required.

        * config/i386/i386.c (bdesc_args): Update.  Change
        IX86_BUILTIN_VEC_WIDEN_SMUL_ODD_V4SI to OPTION_MASK_ISA_SSE2.
        (IX86_BUILTIN_VEC_WIDEN_SMUL_EVEN_V4SI): New.
        (ix86_builtin_mul_widen_even): Use it.
        (ix86_builtin_mul_widen_odd): Relax SMUL_ODD from sse4 to sse2.
        (ix86_expand_mul_widen_evenodd): Handle signed for sse2.
        * config/i386/sse.md (vec_widen_<s>mult_hi_<V124_AVX2>): Allow
        for all SSE2.
        (vec_widen_<s>mult_lo_<V124_AVX2>): Likewise.
        (vec_widen_<s>mult_odd_<VI4_AVX2>): Likewise.  Relax from V124_AVX2.
        (vec_widen_smult_even_v4si): New.

From-SVN: r189006

12 years agoi386: Expand mul<VI8_AVX2> earlier
Richard Henderson [Wed, 27 Jun 2012 03:19:51 +0000 (20:19 -0700)]
i386: Expand mul<VI8_AVX2> earlier

Move the expansion code to i386.c next to mulv4si3.  Eliminate
one shift by adding the highparts before shifting.  Correct costs.

        * config/i386/sse.md (mul<VI8_AVX2>3): Change from insn_and_split
        to expander; move guts to ...
        * config/i386/i386.c (ix86_expand_sse2_mulvxdi3): ... here.  Add
        highparts before shifting up.
        * config/i386/i386-protos.h: Update.

From-SVN: r189005

12 years agoDaily bump.
GCC Administrator [Wed, 27 Jun 2012 00:18:00 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r189003

12 years agosystem.h (USE_COMMON_FOR_ONE_ONLY): Poison.
Steven Bosscher [Tue, 26 Jun 2012 21:47:18 +0000 (21:47 +0000)]
system.h (USE_COMMON_FOR_ONE_ONLY): Poison.

* system.h (USE_COMMON_FOR_ONE_ONLY): Poison.
* defaults.h (USE_COMMON_FOR_ONE_ONLY): Do not provide default.
* config/darwin.h (USE_COMMON_FOR_ONE_ONLY): Do not define.

From-SVN: r188999

12 years agovar-tracking.c (vt_add_function_parameter): Use a preserved VALUE for the MEM address...
Alexandre Oliva [Tue, 26 Jun 2012 20:33:32 +0000 (20:33 +0000)]
var-tracking.c (vt_add_function_parameter): Use a preserved VALUE for the MEM address of an incoming parameter.

* var-tracking.c (vt_add_function_parameter): Use a preserved
VALUE for the MEM address of an incoming parameter.

From-SVN: r188998

12 years agoscandump.exp (scan-dump, [...]): Use printable pattern in test name.
Janis Johnson [Tue, 26 Jun 2012 20:17:00 +0000 (20:17 +0000)]
scandump.exp (scan-dump, [...]): Use printable pattern in test name.

* lib/scandump.exp (scan-dump, scan-dump-not, scan-dump-dem,
scan-dump-dem-not): Use printable pattern in test name.

From-SVN: r188996

12 years ago[multiple changes]
Arnaud Charlet [Tue, 26 Jun 2012 20:11:28 +0000 (22:11 +0200)]
[multiple changes]

2012-06-26  Vincent Pucci  <pucci@adacore.com>

* exp_ch3.adb (Build_Init_Statements): Don't check the parents
in the Rep Item Chain of the task for aspects Interrupt_Priority,
Priority, CPU and Dispatching_Domain.
* exp_ch9.adb (Expand_N_Task_Type_Declaration): fields _Priority,
_CPU and _Domain are present in the corresponding record type
only if the task entity has a pragma, attribute definition
clause or aspect specification.
(Make_Initialize_Protection): Don't check the parents in the Rep Item
Chain of the task for aspects Interrupt_Priority, Priority, CPU and
Dispatching_Domain.
* freeze.adb (Freeze_Entity): Use of Evaluate_Aspects_At_Freeze_Point
call replaced by Analyze_Aspects_At_Freeze_Point.
* sem_ch13.adb, sem_ch13.ads (Analyze_Aspects_At_Freeze_Point):
Renaming of Evaluate_Aspects_At_Freeze_Point.

2012-06-26  Yannick Moy  <moy@adacore.com>

* sem_attr.adb (Analyze_Attribute): Detect if 'Old is used outside a
postcondition, and issue an error in such a case.

2012-06-26  Yannick Moy  <moy@adacore.com>

* gnat_rm.texi: Minor editing.

2012-06-26  Tristan Gingold  <gingold@adacore.com>

* raise-gcc.c: Minor cleanup: remove unused prototype.
* seh_init.c: Do not create an image wide unwind info to catch
SEH when SEH unwind info are emitted by the compiler.

From-SVN: r188995

12 years agopubtypes-2.c: Update expected output.
Sterling Augustine [Tue, 26 Jun 2012 18:26:08 +0000 (18:26 +0000)]
pubtypes-2.c: Update expected output.

2012-06-26  Sterling Augustine  <saugustine@google.com>
    Dominique Dhumieres  <dominiq@lps.ens.fr>

* gcc.dg/pubtypes-2.c: Update expected output.
* gcc.dg/pubtypes-3.c: Likewise.
* gcc.dg/pubtypes-4.c: Likewise.

Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr>
From-SVN: r188994

12 years agoObvious ChangeLog formatting fix.
Sterling Augustine [Tue, 26 Jun 2012 18:25:15 +0000 (18:25 +0000)]
Obvious ChangeLog formatting fix.

From-SVN: r188993

12 years agodwarf2out.c (output_pubnames): Add check for DW_TAG_enumerator.
Sterling Augustine [Tue, 26 Jun 2012 17:54:02 +0000 (17:54 +0000)]
dwarf2out.c (output_pubnames): Add check for DW_TAG_enumerator.

2012-06-26  Sterling Augustine <saugustine@google.com>

        * dwarf2out.c (output_pubnames): Add check for DW_TAG_enumerator.
        (prune_unused_types): Likewise.

From-SVN: r188992

12 years agosystem.h (UNALIGNED_SHORT_ASM_OP, [...]): Poison.
Steven Bosscher [Tue, 26 Jun 2012 17:26:19 +0000 (17:26 +0000)]
system.h (UNALIGNED_SHORT_ASM_OP, [...]): Poison.

* system.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
UNALIGNED_LONG_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): Poison.
* vmsdbgout.c (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
UNALIGNED_LONG_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): Rename to
VMS_UNALIGNED_SHORT_ASM_OP, VMS_UNALIGNED_INT_ASM_OP,
VMS_UNALIGNED_LONG_ASM_OP, and VMS_UNALIGNED_DOUBLE_INT_ASM_OP.
* config/microblaze/microblaze.h (UNALIGNED_SHORT_ASM_OP,
UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): Do not define.
* doc/tm.texi.in: Remove UNALIGNED_INT_ASM_OP reference from the
documentation.
* doc/tm.texi: Regenerate.
* doc/cpp.texi: Make example for #error generic.
* config/frv/frv.h: Fix example text to match tm.texi.

From-SVN: r188991

12 years agotree-pass.h (pass_strength_reduction): New decl.
Bill Schmidt [Tue, 26 Jun 2012 16:27:50 +0000 (16:27 +0000)]
tree-pass.h (pass_strength_reduction): New decl.

gcc:

2012-06-26  Bill Schmidt  <wschmidt@linux.ibm.com>

* tree-pass.h (pass_strength_reduction): New decl.
* tree-ssa-loop-ivopts.c (initialize_costs): Make non-static.
(finalize_costs): Likewise.
* timevar.def (TV_TREE_SLSR): New timevar.
* gimple-ssa-strength-reduction.c: New.
* tree-flow.h (initialize_costs): New decl.
(finalize_costs): Likewise.
* Makefile.in (tree-ssa-strength-reduction.o): New dependencies.
* passes.c (init_optimization_passes): Add pass_strength_reduction.

gcc/testsuite:

2012-06-26  Bill Schmidt  <wschmidt@linux.ibm.com>

* gcc.dg/tree-ssa/slsr-1.c: New test.
* gcc.dg/tree-ssa/slsr-2.c: Likewise.
* gcc.dg/tree-ssa/slsr-3.c: Likewise.
* gcc.dg/tree-ssa/slsr-4.c: Likewise.

From-SVN: r188989

12 years agore PR target/35294 (iwmmxt intrinsics, internal compiler error)
Matt Turner [Tue, 26 Jun 2012 14:59:45 +0000 (14:59 +0000)]
re PR target/35294 (iwmmxt intrinsics, internal compiler error)

* doc/extend.texi (__builtin_arm_tinsrb): Add missing second
parameter.
(__builtin_arm_tinsrh): Likewise.
(__builtin_arm_tinsrw): Likewise.
(__builtin_arm_wsadb): Add missing v2si parameter.
(__builtin_arm_wsadh): Likewise.
(__builtin_arm_getwcx): Delete.
(__builtin_arm_setwcx): Delete.
(__builtin_arm_getwcgr0): Add.
(__builtin_arm_getwcgr1): Add.
(__builtin_arm_getwcgr2): Add.
(__builtin_arm_getwcgr3): Add.
(__builtin_arm_setwcgr0): Add.
(__builtin_arm_setwcgr1): Add.
(__builtin_arm_setwcgr2): Add.
(__builtin_arm_setwcgr3): Add.

PR target/35294
* gcc.target/arm/mmx-2.c: New.

From-SVN: r188988

12 years agore PR c++/53752 (ice in write_array_type)
Richard Guenther [Tue, 26 Jun 2012 13:55:34 +0000 (13:55 +0000)]
re PR c++/53752 (ice in write_array_type)

2012-06-26  Richard Guenther  <rguenther@suse.de>

PR c++/53752
* mangle.c (write_array_type): Truncate the number-of-elements
result.

* g++.dg/torture/pr53752.C: New testcase.

From-SVN: r188986

12 years agorevert: tree-inline.c (estimate_num_insns): Estimate call cost for tailcalls properly.
Richard Guenther [Tue, 26 Jun 2012 13:08:50 +0000 (13:08 +0000)]
revert: tree-inline.c (estimate_num_insns): Estimate call cost for tailcalls properly.

2012-06-26  Richard Guenther  <rguenther@suse.de>

Revert
2012-06-21  Richard Guenther  <rguenther@suse.de>

* tree-inline.c (estimate_num_insns): Estimate call cost for
tailcalls properly.

From-SVN: r188985

12 years agore PR middle-end/33190 (tm.texi describes some non-existing hooks)
Steven Bosscher [Tue, 26 Jun 2012 11:27:41 +0000 (11:27 +0000)]
re PR middle-end/33190 (tm.texi describes some non-existing hooks)

        PR other/33190
* doc/tm.texi.in: Document LOGICAL_OP_NON_SHORT_CIRCUIT.
* doc/tm.texi: Regenerate.

From-SVN: r188984

12 years agore PR middle-end/33190 (tm.texi describes some non-existing hooks)
Steven Bosscher [Tue, 26 Jun 2012 10:47:01 +0000 (10:47 +0000)]
re PR middle-end/33190 (tm.texi describes some non-existing hooks)

PR other/33190
* config/mips/mips.h: Do not define ALL_COP_ADDITIONAL_REGISTER_NAMES.
* config/frv/frv.h: Do not define REVERSE_CONDEXEC_PREDICATES_P.
* doc/tm.texi.in: Remove documentation for unused target macros
ALL_COP_ADDITIONAL_REGISTER_NAMES, DBX_OUTPUT_LBRAC, DBX_OUTPUT_NFUN,
DBX_OUTPUT_RBRAC, RANGE_TEST_NON_SHORT_CIRCUIT, REAL_VALUE_TRUNCATE,
REVERSE_CONDEXEC_PREDICATES_P, TARGET_ALIGN_ANON_BITFIELDS, and
TARGET_NARROW_VOLATILE_BITFIELDS.
Document that MD_HANDLE_UNWABI is a macro in libgcc.
* doc/tm.texi: Regenerate.
* system.h: Poison target macros
ALL_COP_ADDITIONAL_REGISTER_NAMES, DBX_OUTPUT_LBRAC, DBX_OUTPUT_NFUN,
DBX_OUTPUT_RBRAC, RANGE_TEST_NON_SHORT_CIRCUIT, REAL_VALUE_TRUNCATE,
REVERSE_CONDEXEC_PREDICATES_P, TARGET_ALIGN_ANON_BITFIELDS, and
TARGET_NARROW_VOLATILE_BITFIELDS

From-SVN: r188983

12 years agore PR lto/53572 (Some public symbols don't get to serialized LTO)
Jan Hubicka [Tue, 26 Jun 2012 10:15:18 +0000 (12:15 +0200)]
re PR lto/53572 (Some public symbols don't get to serialized LTO)

PR lto/53572
* cgraph.h (varpool_can_remove_if_no_refs): Fix handling of
used symbols.

From-SVN: r188982

12 years agotree-inline.c: (expand_call_inline): Ensure that lexical block's source location...
Dehao Chen [Tue, 26 Jun 2012 10:13:11 +0000 (10:13 +0000)]
tree-inline.c: (expand_call_inline): Ensure that lexical block's source location is consistant...

2012-06-26  Dehao Chen  <dehao@google.com>

* tree-inline.c: (expand_call_inline): Ensure that lexical block's
source location is consistant with the call stmt.

From-SVN: r188981

12 years agore PR regression/53729 (PR53636 fix caused bb-slp-16.c to FAIL on sparc64 and powerpc64)
Ulrich Weigand [Tue, 26 Jun 2012 09:05:48 +0000 (09:05 +0000)]
re PR regression/53729 (PR53636 fix caused bb-slp-16.c to FAIL on sparc64 and powerpc64)

PR tree-optimization/53729
PR tree-optimization/53636
* tree-vect-slp.c (vect_slp_analyze_bb_1): Delay call to
vect_verify_datarefs_alignment until after statements have
been marked as relevant/irrelevant.
* tree-vect-data-refs.c (vect_verify_datarefs_alignment):
Skip irrelevant statements.
(vect_enhance_data_refs_alignment): Use STMT_VINFO_RELEVANT_P
instead of STMT_VINFO_RELEVANT.
(vect_get_data_access_cost): Do not check for supportable
alignment before calling vect_get_load_cost/vect_get_store_cost.
* tree-vect-stmts.c (vect_get_store_cost): Do not abort when
handling unsupported alignment.
(vect_get_load_cost): Likewise.

From-SVN: r188979

12 years agorl78.h: Do not undefine DONT_USE_BUILTIN_SETJMP.
Steven Bosscher [Tue, 26 Jun 2012 08:46:08 +0000 (08:46 +0000)]
rl78.h: Do not undefine DONT_USE_BUILTIN_SETJMP.

* config/rl78/rl78.h: Do not undefine DONT_USE_BUILTIN_SETJMP.
Do not define JMP_BUF_SIZE.

From-SVN: r188978

12 years agore PR tree-optimization/53748 (ice in fold_convert_loc)
Jakub Jelinek [Tue, 26 Jun 2012 08:02:20 +0000 (10:02 +0200)]
re PR tree-optimization/53748 (ice in fold_convert_loc)

PR tree-optimization/53748
* tree-ssa-phiopt.c (conditional_replacement): Only optimize
if arg0/arg1 have integral or pointer types.

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

From-SVN: r188975

12 years agore PR c++/53498 (Compiler crashes during C++11 template magic compilation)
Jason Merrill [Tue, 26 Jun 2012 03:42:34 +0000 (23:42 -0400)]
re PR c++/53498 (Compiler crashes during C++11 template magic compilation)

PR c++/53498
PR c++/53305
* pt.c (tsubst_decl) [PARM_DECL]: Don't recurse into DECL_CHAIN
if cp_unevaluated_operand is set.
(tsubst_copy) [PARM_DECL]: Don't copy before tsubsting.

From-SVN: r188973

12 years agotarget-supports-dg.exp (testname-for-summary): New.
Janis Johnson [Tue, 26 Jun 2012 03:10:43 +0000 (03:10 +0000)]
target-supports-dg.exp (testname-for-summary): New.

* lib/target-supports-dg.exp (testname-for-summary): New.
* lib/profopt.exp (profopt_execute): Define testname_with_flags.
* lib/gcc-dg.exp (cleanup-coverage-files, cleanup-repo-notes,
cleanup-stack-usage, cleanup-dump, cleanup-saved-temps, scan-module,
scan-module-absence, output-exists, output-exists-not: Use
testname-for-summary.
(dg-test): Clean up testname_with_flags.
* lib/scanasm.exp (scan-assembler, scan-assembler-not, scan-hidden,
scan-not-hidden, scan-file, scan-file-not, scan-stack-usage,
scan-stack-usage-not, scan-assembler-times, scan-assembler-dem,
scan-assembler-dem-not, object-size: Use testname-for-summary.
* lib/gcov.exp (run-gcov): Likewise.
* lib/scandump.exp (scan-dump, scan-dump-times, scan-dump-not,
scan-dump-dem, scan-dump-dem-note): Likewise.

From-SVN: r188972

12 years agoDaily bump.
GCC Administrator [Tue, 26 Jun 2012 00:17:54 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r188971

12 years agoAdd C++11 isms to tr2/dynamic_bitset and tr2/bool_set.
Edward Smith-Rowland [Tue, 26 Jun 2012 00:14:00 +0000 (00:14 +0000)]
Add C++11 isms to tr2/dynamic_bitset and tr2/bool_set.

From-SVN: r188967

12 years agoObvious ChangeLog fix.
Sterling Augustine [Mon, 25 Jun 2012 22:56:04 +0000 (22:56 +0000)]
Obvious ChangeLog fix.

From-SVN: r188966

12 years agouser.cfg.in: Change COMPACT_LATEX to NO.
Benjamin Kosnik [Mon, 25 Jun 2012 22:20:15 +0000 (22:20 +0000)]
user.cfg.in: Change COMPACT_LATEX to NO.

2012-06-25  Benjamin Kosnik  <bkoz@redhat.com>

* doc/doxygen/user.cfg.in: Change COMPACT_LATEX to NO.

From-SVN: r188965

12 years agoprofopt.exp: Make prof_option_list local to profopt-execute.
Janis Johnson [Mon, 25 Jun 2012 22:01:34 +0000 (22:01 +0000)]
profopt.exp: Make prof_option_list local to profopt-execute.

* lib/profopt.exp: Make prof_option_list local to profopt-execute.
* g++.dg/tree-prof/tree-prof.exp (PROFOPT_OPTIONS): Define after
including profopt.opt; save and restore existing value.
* g++.dg/bprob/bprob.exp: Likewise.
* gcc.dg/matrix/matrix.exp: Likewise.
* gcc.dg/tree-prof/tree-prof.exp: Likewise.
* gcc.misc-tests/bprob.exp: Likewise; also replace formerly-ignored
PROFOPT_OPTIONS.

From-SVN: r188964

12 years agoObvious fix to Changelog entry.
Sterling Augustine [Mon, 25 Jun 2012 20:59:42 +0000 (20:59 +0000)]
Obvious fix to Changelog entry.

From-SVN: r188961

12 years agoi386: Delete sse sdot_prod; add sdot_prodv4si for xop
Richard Henderson [Mon, 25 Jun 2012 20:42:11 +0000 (13:42 -0700)]
i386: Delete sse sdot_prod; add sdot_prodv4si for xop

Now that we support mult_even/odd hooks, the vectorizer can
generate the exact same code for plain sse dot_prod by itself,
as well as other reductions other than plus.

From-SVN: r188960

12 years agoi386: Add widen_multiply_even/odd builtins and hooks
Richard Henderson [Mon, 25 Jun 2012 20:42:00 +0000 (13:42 -0700)]
i386: Add widen_multiply_even/odd builtins and hooks

From-SVN: r188959

12 years agoi386: Use vpmacsdd for mulv4si3
Richard Henderson [Mon, 25 Jun 2012 20:41:51 +0000 (13:41 -0700)]
i386: Use vpmacsdd for mulv4si3

From-SVN: r188958

12 years agoi386: Cleanup and unify widening multiply patterns
Richard Henderson [Mon, 25 Jun 2012 20:41:42 +0000 (13:41 -0700)]
i386: Cleanup and unify widening multiply patterns

Prepares for exposing builtin_mul_widen_even/odd hooks
for more efficient reduction.  Adds QImode multiplication.
Shares code between mulv4si3 and the widening multiplies.

From-SVN: r188957

12 years agoTestcase for pr53749
Richard Henderson [Mon, 25 Jun 2012 20:41:27 +0000 (13:41 -0700)]
Testcase for pr53749

From-SVN: r188956

12 years agore PR c++/52988 (std::async not executed on function returning nullptr_t)
Jason Merrill [Mon, 25 Jun 2012 20:39:47 +0000 (16:39 -0400)]
re PR c++/52988 (std::async not executed on function returning nullptr_t)

PR c++/52988
* typeck.c (decay_conversion): Don't discard side-effects from
expressions of nullptr_t.

From-SVN: r188955

12 years agoCommit for Christophe Lyon.
Christophe Lyon [Mon, 25 Jun 2012 20:11:35 +0000 (22:11 +0200)]
Commit for Christophe Lyon.

2012-06-25  Christophe Lyon  <christophe.lyon@st.com>

* config/arm/neon.md (UNSPEC_VLD1_DUP): Remove.
(neon_vld1_dup): Restrict to VQ operands.
(neon_vld1_dupv2di): New, fixes vld1q_dup_s64.

2012-06-25  Christophe Lyon  <christophe.lyon@st.com>

* gcc.target/arm/neon-vld1_dupQ.c: New.

From-SVN: r188951

12 years agoC++: Reject variably modified types in operator new
Florian Weimer [Mon, 25 Jun 2012 17:03:10 +0000 (19:03 +0200)]
C++: Reject variably modified types in operator new

From-SVN: r188948

12 years agoarm.h (TARGET_CPU_CPP_BUILTINS): Add new built-ins.
Matthew Gretton-Dann [Mon, 25 Jun 2012 16:30:53 +0000 (16:30 +0000)]
arm.h (TARGET_CPU_CPP_BUILTINS): Add new built-ins.

2012-05-25  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
            James Greenhalgh  <james.greenhalgh@arm.com>
* gcc/config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Add new built-ins.
(TARGET_FMA): New macro.
(TARGET_ARM_QBIT, TARGET_ARM_SAT): Likewise.
(TARGET_ARM_ARCH): Likewise.
(TARGET_ARM_ARCH_ISA_THUMB): Likewise.
(TARGET_V6M, TARGET_V7M): Likewise.
(TARGET_ARM_ARCH_PROFILE): Likewise.
(TARGET_ARM_FEATURE_LDREX): Likewise.
(TARGET_ARM_FP, TARGET_NEON_FP): Likewise.
(ARM_MIN_ENUM_SIZE): Likewise.
* gcc/config/arm/arm.c (arm_file_start): Refactor appropriately.
(base_architecture): New enumeration.
(arm_base_arch): New global variable.
(processors): Add field base_arch.
(ARM_ARCH, ARM_CORE): Adjust accordingly.
(arm_option_override): Add initialization of arm_base_arch.
* gcc/doc/cpp.texi (system-specific predefined macros.): Change.
* gcc/testsuite/gcc.target/arm/ftest-support-arm.h New testcase.
* gcc/testsuite/gcc.target/arm/ftest-support-thumb.h Likewise.
* gcc/testsuite/gcc.target/arm/ftest-support.h Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv4-arm.c: Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv4t-arm.c: Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv4t-thumb.c: Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv5t-arm.c Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv5t-thumb.c Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv5te-arm.c: Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv5te-thumb.c: Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv6-arm.c Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv6-thumb.c Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv6k-arm.c Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv6k-thumb.c Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv6m-thumb.c: Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv6t2-arm.c: Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv6t2-thumb.c: Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv6z-arm.c: Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv6z-thumb.c: Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv7a-arm.c Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv7a-thumb.c Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv7m-thumb.c: Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv7em-thumb.c: Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv7r-arm.c Likewise.
* gcc/testsuite/gcc.target/arm/ftest-armv7r-thumb.c Likewise.
* gcc/testsuite/lib/target-supports.exp
(check_effective_target_arm_arch_FUNC): Add support for more
architectures.
(add_options_for_arm_arch_FUNC): Likewise.
(check_effective_target_arm_arch_FUNC_multilib): New functions.

Co-Authored-By: James Greenhalgh <james.greenhalgh@arm.com>
From-SVN: r188946