gcc.git
11 years agolibgo: Update to current sources.
Ian Lance Taylor [Tue, 23 Oct 2012 04:31:11 +0000 (04:31 +0000)]
libgo: Update to current sources.

From-SVN: r192704

11 years agore PR target/55019 (Incorrectly use live argument register to save high register...
Terry Guo [Tue, 23 Oct 2012 03:49:17 +0000 (03:49 +0000)]
re PR target/55019 (Incorrectly use live argument register to save high register in thumb1 prologue)

gcc/
PR target/55019
* config/arm/arm.c (thumb1_expand_prologue): Don't push high regs with
live argument regs.

gcc/testsuite/
PR target/55019
* gcc.dg/pr55019.c: New.

From-SVN: r192703

11 years agore PR middle-end/55030 (gcc.c-torture/execute/builtins/memcpy-chk.c execution, ...
Hans-Peter Nilsson [Tue, 23 Oct 2012 01:05:25 +0000 (01:05 +0000)]
re PR middle-end/55030 (gcc.c-torture/execute/builtins/memcpy-chk.c execution,  -Os (et al))

PR middle-end/55030
Revert:
* stmt.c (expand_nl_goto_receiver): Remove almost-copy of
expand_builtin_setjmp_receiver.
(expand_label): Adjust, call expand_builtin_setjmp_receiver
with NULL for the label parameter.
* builtins.c (expand_builtin_setjmp_receiver): Don't clobber
the frame-pointer.  Adjust comments.
[HAVE_builtin_setjmp_receiver]: Emit builtin_setjmp_receiver
only if LABEL is non-NULL.

From-SVN: r192701

11 years agoDaily bump.
GCC Administrator [Tue, 23 Oct 2012 00:17:45 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r192700

11 years agore PR tree-optimization/55008 (Internal compiler error : verify_ssa failed)
Bill Schmidt [Mon, 22 Oct 2012 22:09:22 +0000 (22:09 +0000)]
re PR tree-optimization/55008 (Internal compiler error : verify_ssa failed)

gcc:

2012-10-22  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR tree-optimization/55008
* gimple-ssa-strength-reduction.c (find_basis_for_candidate): Don't
allow a candidate to be a basis for itself under another interpretation.

gcc/testsuite:

2012-10-22  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR tree-optimization/55008
* gcc.dg/tree-ssa/pr55008.c: New test.

From-SVN: r192696

11 years agounordered_set.h (unordered_set<>): Prefer aggregation to inheritance with _Hashtable.
François Dumont [Mon, 22 Oct 2012 19:53:38 +0000 (19:53 +0000)]
unordered_set.h (unordered_set<>): Prefer aggregation to inheritance with _Hashtable.

2012-10-22  François Dumont  <fdumont@gcc.gnu.org>

* include/bits/unordered_set.h (unordered_set<>): Prefer
aggregation to inheritance with _Hashtable.
(unordered_multiset<>): Likewise.
* include/debug/unordered_set (operator==): Adapt.
* include/profile/unordered_set (operator==): Adapt.

From-SVN: r192695

11 years agoi386.c (memory_address_length): Added missing part from my previous commit.
Uros Bizjak [Mon, 22 Oct 2012 19:39:14 +0000 (21:39 +0200)]
i386.c (memory_address_length): Added missing part from my previous commit.

* config/i386/i386.c (memory_address_length):
Added missing part from my previous commit.

From-SVN: r192694

11 years agodumpfile.c (dump_phase_enabled_p): Renamed dump_enabled_p.
Sharad Singhai [Mon, 22 Oct 2012 18:50:19 +0000 (18:50 +0000)]
dumpfile.c (dump_phase_enabled_p): Renamed dump_enabled_p.

2012-10-22  Sharad Singhai  <singhai@google.com>

        * dumpfile.c (dump_phase_enabled_p): Renamed dump_enabled_p. Update
        all callers.
(dump_enabled_p): A new function to check if any of the dump files
is available.
(dump_kind_p): Remove check for current_function_decl. Add check for
dumpfile and alt_dump_file.
* dumpfile.h: Add declaration of dump_enabled_p.

From-SVN: r192692

11 years agore PR lto/55021 (The tests gfortran.dg/integer_exponentiation_5.F90 and masklr_1...
Richard Biener [Mon, 22 Oct 2012 14:10:06 +0000 (14:10 +0000)]
re PR lto/55021 (The tests gfortran.dg/integer_exponentiation_5.F90 and masklr_1.F90 are miscompiled with -flto after revision 192529)

2012-10-22  Richard Biener  <rguenther@suse.de>

PR lto/55021
* tree-streamer-in.c (unpack_ts_int_cst_value_fields): Remove
bogus truncations.

From-SVN: r192691

11 years agoi386.c (memory_address_length): Assert that non-null base or index RTXes are registers.
Uros Bizjak [Mon, 22 Oct 2012 13:59:33 +0000 (15:59 +0200)]
i386.c (memory_address_length): Assert that non-null base or index RTXes are registers.

* config/i386/i386.c (memory_address_length): Assert that non-null
base or index RTXes are registers.  Do not check for REG RTXes.
Determine addr32 prefix from original base and index RTXes.
Simplify code.

From-SVN: r192690

11 years agore PR tree-optimization/55011 (GCC in an infinite loop at -O2 in VRP)
Richard Biener [Mon, 22 Oct 2012 13:26:48 +0000 (13:26 +0000)]
re PR tree-optimization/55011 (GCC in an infinite loop at -O2 in VRP)

2012-10-22  Richard Biener  <rguenther@suse.de>

PR tree-optimization/55011
* tree-vrp.c (update_value_range): For invalid lattice transitions
drop to VARYING.

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

From-SVN: r192689

11 years agoarm.h (CANNOT_CHANGE_MODE_CLASS): Avoid subreg'ing VFP D registers in big-endian...
Julian Brown [Mon, 22 Oct 2012 11:32:37 +0000 (11:32 +0000)]
arm.h (CANNOT_CHANGE_MODE_CLASS): Avoid subreg'ing VFP D registers in big-endian mode.

* config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Avoid subreg'ing
VFP D registers in big-endian mode.

From-SVN: r192687

11 years agoinvoke.texi (AVR Options): Document __AVR_ARCH__.
Georg-Johann Lay [Mon, 22 Oct 2012 11:13:54 +0000 (11:13 +0000)]
invoke.texi (AVR Options): Document __AVR_ARCH__.

* doc/invoke.texi (AVR Options): Document __AVR_ARCH__.
Note __AVR_<device>__ is not defined for cores.
Don't point to --help=target.

From-SVN: r192685

11 years ago* gcc-interface/Makefile.in: Remove reference to non-existing file.
Eric Botcazou [Mon, 22 Oct 2012 10:05:45 +0000 (10:05 +0000)]
* gcc-interface/Makefile.in: Remove reference to non-existing file.

From-SVN: r192682

11 years agopr40457-1.c: Adjust expected output.
Greta Yorsh [Mon, 22 Oct 2012 09:58:32 +0000 (10:58 +0100)]
pr40457-1.c: Adjust expected output.

gcc/testsuite

2012-10-22  Greta Yorsh  <Greta.Yorsh@arm.com>

* gcc.target/arm/pr40457-1.c: Adjust expected output.
* gcc.target/arm/pr40457-2.c: Likewise.
* gcc.target/arm/pr40457-3.c: Likewise.

From-SVN: r192681

11 years agoarm.c (thumb2_emit_ldrd_pop): New function.
Sameera Deshpande [Mon, 22 Oct 2012 09:54:31 +0000 (15:24 +0530)]
arm.c (thumb2_emit_ldrd_pop): New function.

2012-10-22  Sameera Deshpande  <sameera.deshpande@arm.com>
    Greta Yorsh  <Greta.Yorsh@arm.com>

* config/arm/arm.c (thumb2_emit_ldrd_pop): New function.
(arm_expand_epilogue): Use the new function.

Co-Authored-By: Greta Yorsh <greta.yorsh@arm.com>
From-SVN: r192680

11 years agoarm.c (thumb2_emit_strd_push): New function.
Sameera Deshpande [Mon, 22 Oct 2012 09:50:47 +0000 (15:20 +0530)]
arm.c (thumb2_emit_strd_push): New function.

2012-10-22  Sameera Deshpande  <sameera.deshpande@arm.com>
    Greta Yorsh  <Greta.Yorsh@arm.com>

* config/arm/arm.c (thumb2_emit_strd_push): New function.
       (arm_expand_prologue): Use the new function.

Co-Authored-By: Greta Yorsh <greta.yorsh@arm.com>
From-SVN: r192679

11 years agoarm-protos.h (offset_ok_for_ldrd_strd): New declaration.
Sameera Deshpande [Mon, 22 Oct 2012 09:46:25 +0000 (15:16 +0530)]
arm-protos.h (offset_ok_for_ldrd_strd): New declaration.

2012-10-22  Sameera Deshpande  <sameera.deshpande@arm.com>
    Greta Yorsh  <Greta.Yorsh@arm.com>

        * config/arm/arm-protos.h (offset_ok_for_ldrd_strd): New
        declaration.
        (operands_ok_ldrd_strd): Likewise.
        * config/arm/arm.c (offset_ok_for_ldrd_strd): New function.
        (operands_ok_ldrd_strd): Likewise.
        * config/arm/arm.md (thumb2_ldrd, thumb2_ldrd_base): New patterns.
        (thumb2_ldrd_base_neg): Likewise.
        (thumb2_strd, thumb2_strd_base, thumb_strd_base_neg): Likewise.
        * predicates.md (ldrd_strd_offset_operand): New predicate.
        * config/arm/constraints.md (Do): New constraint.

Co-Authored-By: Greta Yorsh <greta.yorsh@arm.com>
From-SVN: r192678

11 years agommix.md ("nonlocal_goto_receiver"): Refer to the frame-pointer as an operand.
Hans-Peter Nilsson [Mon, 22 Oct 2012 09:25:02 +0000 (09:25 +0000)]
mmix.md ("nonlocal_goto_receiver"): Refer to the frame-pointer as an operand.

* config/mmix/mmix.md ("nonlocal_goto_receiver"): Refer to the
frame-pointer as an operand.
("*nonlocal_goto_receiver_expanded"): Ditto.  Use
mmix_output_register_setting instead of naked output_asm_insn for
the offset from the frame-pointer to the saved rO.
* config/mmix/mmix.c (mmix_output_register_setting): Emit NEGU for
values -255..0.
* config/mmix/predicates.md ("frame_pointer_operand"): New.
* config/mmix/constraints.md ("Yf"): New.

From-SVN: r192677

11 years agostmt.c (expand_nl_goto_receiver): Remove almost-copy of expand_builtin_setjmp_receiver.
Hans-Peter Nilsson [Mon, 22 Oct 2012 09:22:11 +0000 (09:22 +0000)]
stmt.c (expand_nl_goto_receiver): Remove almost-copy of expand_builtin_setjmp_receiver.

* stmt.c (expand_nl_goto_receiver): Remove almost-copy of
expand_builtin_setjmp_receiver.
(expand_label): Adjust, call expand_builtin_setjmp_receiver
with NULL for the label parameter.
* builtins.c (expand_builtin_setjmp_receiver): Don't clobber
the frame-pointer.  Adjust comments.
[HAVE_builtin_setjmp_receiver]: Emit builtin_setjmp_receiver
only if LABEL is non-NULL.

From-SVN: r192676

11 years ago* gcc-interface/Makefile.in: Remove outdated comment.
Eric Botcazou [Mon, 22 Oct 2012 09:21:38 +0000 (09:21 +0000)]
* gcc-interface/Makefile.in: Remove outdated comment.

From-SVN: r192675

11 years agodecl.c (gnat_to_gnu_entity): Force BLKmode on the type if it is passed by reference.
Eric Botcazou [Mon, 22 Oct 2012 08:59:10 +0000 (08:59 +0000)]
decl.c (gnat_to_gnu_entity): Force BLKmode on the type if it is passed by reference.

* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Force
BLKmode on the type if it is passed by reference.
<E_Array_Subtype>: Likewise.
<E_Record_Type>: Guard the call to Is_By_Reference_Type predicate.
<E_Record_Subtype>: Likewise.

From-SVN: r192673

11 years agoutils.c (rest_of_record_type_compilation): Simplify and robustify pattern machine...
Eric Botcazou [Mon, 22 Oct 2012 08:50:00 +0000 (08:50 +0000)]
utils.c (rest_of_record_type_compilation): Simplify and robustify pattern machine code for masking operations.

* gcc-interface/utils.c (rest_of_record_type_compilation): Simplify and
robustify pattern machine code for masking operations.

From-SVN: r192672

11 years agodecl.c (gnat_to_gnu_entity): In type annotation mode, break circularities introduced...
Eric Botcazou [Mon, 22 Oct 2012 08:42:34 +0000 (08:42 +0000)]
decl.c (gnat_to_gnu_entity): In type annotation mode, break circularities introduced by AI05-0151.

* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: In
type annotation mode, break circularities introduced by AI05-0151.

From-SVN: r192671

11 years agotrans.c (Loop_Statement_to_gnu): Use gnat_type_for_size directly to obtain an unsigne...
Eric Botcazou [Mon, 22 Oct 2012 08:19:58 +0000 (08:19 +0000)]
trans.c (Loop_Statement_to_gnu): Use gnat_type_for_size directly to obtain an unsigned version of the base type.

* gcc-interface/trans.c (Loop_Statement_to_gnu): Use gnat_type_for_size
directly to obtain an unsigned version of the base type.

From-SVN: r192669

11 years agodecl.c (gnat_to_gnu_entity): Do not generate the special PARM_DECL for an Out paramet...
Eric Botcazou [Mon, 22 Oct 2012 08:04:48 +0000 (08:04 +0000)]
decl.c (gnat_to_gnu_entity): Do not generate the special PARM_DECL for an Out parameter in LTO mode.

* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Out_Parameter>: Do not
generate the special PARM_DECL for an Out parameter in LTO mode.

From-SVN: r192667

11 years agore PR bootstrap/54820 (ada: cannot find -lstdc++ since 4.8.0 20121002)
Eric Botcazou [Mon, 22 Oct 2012 07:27:21 +0000 (07:27 +0000)]
re PR bootstrap/54820 (ada: cannot find -lstdc++ since 4.8.0 20121002)

PR bootstrap/54820
* Makefile.tpl (STAGE1_FLAGS_TO_PASS): New variable.
(all-[+prefix+][+module+]): Pass stage1_args to sub-makes.
(all-stage[+id+]-[+prefix+][+module+]): Likewise, if prev is false.
(clean-stage[+id+]-[+prefix+][+module+]): Likewise, if prev is false.
(host_modules): Set stage1_args to STAGE1_FLAGS_TO_PASS.
* Makefile.in: Regenerate.
* configure.ac (have_static_libs): New variable and associated check.
(stage1-ldflags): Move to after stage1_libs and set to -static-libstdc++
-static-libgcc if stage1_libs is empty and have_static_libs is yes.
* configure: Regenerate.
ada/
* gcc-interface/Make-lang.in (GCC_LINK): Remove hardcoded options.

From-SVN: r192666

11 years agoDaily bump.
GCC Administrator [Mon, 22 Oct 2012 00:18:01 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r192664

11 years agoconfigure.xml (--enable-clocale): Document the 'newlib' and 'darwin' options.
Yufeng Zhang [Sun, 21 Oct 2012 23:42:17 +0000 (23:42 +0000)]
configure.xml (--enable-clocale): Document the 'newlib' and 'darwin' options.

2012-10-22  Yufeng Zhang  <yufeng.zhang@arm.com>
    Jonathan Wakely  <jwakely.gcc@gmail.com>

* doc/xml/manual/configure.xml (--enable-clocale): Document the
'newlib' and 'darwin' options. Minor stylistic improvements.

Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>
From-SVN: r192661

11 years agoi386-protos.h (memory_address_length): Add new bool argument.
Uros Bizjak [Sun, 21 Oct 2012 22:12:46 +0000 (00:12 +0200)]
i386-protos.h (memory_address_length): Add new bool argument.

* config/i386/i386-protos.h (memory_address_length): Add new bool
argument.  Update all uses.
* config/i386/i386.c (memory_address_length): If not LEA insn, then
add length of addr32 prefix based on mode of base or index register.
(ix86_attr_length_address_default) <TYPE_LEA>: Do not handle SImode
addresses here.  Update call to memory_address_length.
(ix86_print_address_operand): Use SImode_address_operand predicate.
* config/i386/predicates.md (SImode_address_operand): New.
* config/i386/i386.md (lea<mode>): Use SImode_address_operand
to calculate "mode" attribute.  Use SImode_address_operand predicate
instead of open-coding accepted RTX codes.

From-SVN: r192660

11 years agoatomic1.ads: XFAIL on MIPS.
Eric Botcazou [Sun, 21 Oct 2012 20:29:17 +0000 (20:29 +0000)]
atomic1.ads: XFAIL on MIPS.

* gnat.dg/specs/atomic1.ads: XFAIL on MIPS.
* gnat.dg/specs/addr1.ads: Likewise.

From-SVN: r192658

11 years agomap.h (map::emplace_hint): Remove invalid parenthesis.
François Dumont [Sun, 21 Oct 2012 19:06:47 +0000 (19:06 +0000)]
map.h (map::emplace_hint): Remove invalid parenthesis.

2012-10-21  François Dumont  <fdumont@gcc.gnu.org>

* include/profile/map.h (map::emplace_hint): Remove invalid
parenthesis.

From-SVN: r192656

11 years ago* rtl.def (ADDR_DIFF_VEC): Fix comment typo.
Joern Rennecke [Sun, 21 Oct 2012 14:15:29 +0000 (14:15 +0000)]
* rtl.def (ADDR_DIFF_VEC): Fix comment typo.

From-SVN: r192654

11 years ago* gcc.dg/webizer.c (main): Add missing exit call.
Hans-Peter Nilsson [Sun, 21 Oct 2012 13:00:03 +0000 (13:00 +0000)]
* gcc.dg/webizer.c (main): Add missing exit call.

From-SVN: r192652

11 years agore PR rtl-optimization/44194 (struct returned by value generates useless stores)
Eric Botcazou [Sun, 21 Oct 2012 12:36:16 +0000 (12:36 +0000)]
re PR rtl-optimization/44194 (struct returned by value generates useless stores)

PR rtl-optimization/44194
* calls.c (expand_call): Allow sibling calls in the PARALLEL case.

From-SVN: r192651

11 years agore PR fortran/54725 (cross gfortran always searches host paths (e.g. /usr/include))
Tobias Burnus [Sun, 21 Oct 2012 10:51:26 +0000 (12:51 +0200)]
re PR fortran/54725 (cross gfortran always searches host paths (e.g. /usr/include))

gcc/
2012-10-21  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54725
        * Makefile.in (TARGET_SYSTEM_ROOT_DEFINE): New.

gcc/fortran
2012-10-21  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54725
        * Make-lang.in (CFLAGS-cpp.o): Use TARGET_SYSTEM_ROOT_DEFINE.
        * cpp.o (gfc_cpp_init_options): Use it for
        setting gfc_cpp_option.sysroot.

From-SVN: r192650

11 years agore PR fortran/54465 (Implement -Wextra for Fortran)
Thomas Koenig [Sun, 21 Oct 2012 10:32:02 +0000 (10:32 +0000)]
re PR fortran/54465 (Implement -Wextra for Fortran)

2012-10-21  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/54465
* lang.opt (Wextra):  Add.
* invoke.texi:  Document that -Wc-binding-type, -Wconversion
and -Wline-truncation are implied by -Wall.  Document that
-Wcompare-reals is implied by -Wextra.  Document -Wextra.
* options.c (set_Wextra):  New function.
(gfc_handle_option):  Handle -Wextra.

2012-10-21  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/54465
* gfortran.dg/wextra_1.f:  New test.

From-SVN: r192649

11 years agoxtensa.c (xtensa_expand_builtin): Remove unused 'arg' variable.
Chung-Lin Tang [Sun, 21 Oct 2012 06:08:23 +0000 (06:08 +0000)]
xtensa.c (xtensa_expand_builtin): Remove unused 'arg' variable.

2012-10-21  Chung-Lin Tang  <cltang@codesourcery.com>

* config/xtensa/xtensa.c (xtensa_expand_builtin): Remove unused 'arg'
variable.

From-SVN: r192648

11 years ago45713.cc: Skip for mmix-*-*.
Hans-Peter Nilsson [Sun, 21 Oct 2012 04:52:54 +0000 (04:52 +0000)]
45713.cc: Skip for mmix-*-*.

* testsuite/23_containers/bitset/45713.cc: Skip for mmix-*-*.
Tweak sizetype-related comment.

From-SVN: r192647

11 years agocrti.S: Mark program and data addresses using PRELD.
Hans-Peter Nilsson [Sun, 21 Oct 2012 03:16:47 +0000 (03:16 +0000)]
crti.S: Mark program and data addresses using PRELD.

* config/mmix/crti.S: Mark program and data addresses using PRELD.
Remove typo'd and unnecessary alignment-LOC for .data.  Remove
no-longer-needed LDBU insns.

From-SVN: r192646

11 years agoDaily bump.
GCC Administrator [Sun, 21 Oct 2012 00:17:53 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r192644

11 years agore PR middle-end/54315 (unnecessary copy of return value for union)
Eric Botcazou [Sat, 20 Oct 2012 21:00:23 +0000 (21:00 +0000)]
re PR middle-end/54315 (unnecessary copy of return value for union)

PR rtl-optimization/54315
* calls.c (expand_call): Don't deal specifically with BLKmode values
returned in naked registers.
* expr.h (copy_blkmode_from_reg): Adjust prototype.
* expr.c (copy_blkmode_from_reg): Rename first parameter into TARGET and
make it required.  Assert that SRCREG hasn't BLKmode.  Add a couple of
short-circuits for common cases and be prepared for sub-word registers.
(expand_assignment): Call copy_blkmode_from_reg for BLKmode values
returned in naked registers.
(store_expr): Likewise.
(store_field): Likewise.

From-SVN: r192641

11 years agounroll-1.c: New testcase.
Jan Hubicka [Sat, 20 Oct 2012 15:51:16 +0000 (17:51 +0200)]
unroll-1.c: New testcase.

* gcc.dg/tree-prof/unroll-1.c: New testcase.

* loop-unroll.c (decide_unroll_constant_iterations): Don't
perform unrolling for loops with low iterations bounds or estimates.

From-SVN: r192638

11 years agoloop-iv.c (iv_number_of_iterations): Record the upper bound only if there are no...
Jan Hubicka [Sat, 20 Oct 2012 14:19:12 +0000 (16:19 +0200)]
loop-iv.c (iv_number_of_iterations): Record the upper bound only if there are no further conditions on it.

* loop-iv.c (iv_number_of_iterations): Record the upper bound
only if there are no further conditions on it.

From-SVN: r192636

11 years agore PR c/53063 (encode group options in the .opt files)
Manuel López-Ibáñez [Sat, 20 Oct 2012 14:17:08 +0000 (14:17 +0000)]
re PR c/53063 (encode group options in the .opt files)

2012-10-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR c/53063
PR c/40989
c-family/
* c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
* c-opts.c (c_common_handle_option): Remove explicit handling from
here.
(c_common_post_options): Likewise.
gcc/
* opts.c (finish_options): Remove explicit handling from here.

From-SVN: r192635

11 years agofinal.c (shorten_branches): When optimizing...
Joern Rennecke [Sat, 20 Oct 2012 13:46:07 +0000 (13:46 +0000)]
final.c (shorten_branches): When optimizing...

        * final.c (shorten_branches): When optimizing, start with small
        length and increase from there, and don't decrease lengths.

Co-Authored-By: Richard Sandiford <rdsandiford@googlemail.com>
From-SVN: r192634

11 years agoemit-rtl.c (copy_delay_slot_insn): New function.
Joern Rennecke [Sat, 20 Oct 2012 11:37:27 +0000 (11:37 +0000)]
emit-rtl.c (copy_delay_slot_insn): New function.

2012-10-20  Joern Rennecke  <joern.rennecke@embecosm.com>
            Richard Sandiford  <rdsandiford@googlemail.com>

        * emit-rtl.c (copy_delay_slot_insn): New function.
        * emit-rtl.h (copy_delay_slot_insn): Declare.
        * reorg.c: Include "emit-rtl.h".
        (steal_delay_list_from_target): Use copy_delay_slot_insn.
        (fill_slots_from_thread, fill_simple_delay_slots): Likewise.

Co-Authored-By: Richard Sandiford <rdsandiford@googlemail.com>
From-SVN: r192633

11 years agobuiltins.def (BUILT_IN_UNREACHABLE): Make ATTR_CONST_NORETURN_NOTHROW_LEAF_LIST.
Jan Hubicka [Sat, 20 Oct 2012 10:12:36 +0000 (12:12 +0200)]
builtins.def (BUILT_IN_UNREACHABLE): Make ATTR_CONST_NORETURN_NOTHROW_LEAF_LIST.

* builtins.def (BUILT_IN_UNREACHABLE): Make ATTR_CONST_NORETURN_NOTHROW_LEAF_LIST.
* builtin-attrs.def (ATTR_CONST_NORETURN_NOTHROW_LEAF_LIST): Define.

From-SVN: r192632

11 years ago* include/std/scoped_allocator: Avoid badname.
Jonathan Wakely [Sat, 20 Oct 2012 02:08:37 +0000 (02:08 +0000)]
* include/std/scoped_allocator: Avoid badname.

From-SVN: r192629

11 years agoDaily bump.
GCC Administrator [Sat, 20 Oct 2012 00:18:42 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r192628

11 years agors6000-cpus.def (POWERPC_MASKS): Don't assume OPTION_MASK_STRICT_ALIGN is defined.
Michael Meissner [Fri, 19 Oct 2012 19:10:03 +0000 (19:10 +0000)]
rs6000-cpus.def (POWERPC_MASKS): Don't assume OPTION_MASK_STRICT_ALIGN is defined.

[gcc]
2012-10-19  Michael Meissner  <meissner@linux.vnet.ibm.com>
    Dominique Dhumieres  <dominiq@lps.ens.fr>

* config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Don't assume
OPTION_MASK_STRICT_ALIGN is defined.
(MASK_STRICT_ALIGN): If OPTION_MASK_STRICT_ALIGN is not defined,
define this to 0 for the 3 ports that use it.

* config/rs6000/rs6000.c (OPTION_MASK_STRICT_ALIGN): Don't do
check for ports not having -mstrict-align here, move test to
rs6000-cpus.def.
(MASK_STRICT_ALIGN): Likewise.
(rs6000_debug_reg_global): Print out correct target flag words if
-mdebug=reg.

[libobjc]
2012-10-19  Michael Meissner  <meissner@linux.vnet.ibm.com>

* encoding.c (TARGET_VSX): Provide definitions based on the
current compilation options, and not based off the target options
structure.
(TARGET_ALTIVEC): Likewise.
(TARGET_64BIT): Likewise.

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

11 years agore PR fortran/54224 (Warn for unused internal procedures)
Janus Weil [Fri, 19 Oct 2012 17:14:46 +0000 (19:14 +0200)]
re PR fortran/54224 (Warn for unused internal procedures)

2012-10-19  Janus Weil  <janus@gcc.gnu.org>

PR fortran/54224
* trans-expr.c (conv_function_val): Set TREE_USED.

2012-10-19  Janus Weil  <janus@gcc.gnu.org>

PR fortran/54224
* gfortran.dg/warn_unused_function.f90: New.

From-SVN: r192620

11 years agore PR middle-end/54945 (Too strong non-aliasing analysis?)
Marek Polacek [Fri, 19 Oct 2012 16:53:39 +0000 (16:53 +0000)]
re PR middle-end/54945 (Too strong non-aliasing analysis?)

PR54945

From-SVN: r192617

11 years ago* doc/xml/manual/status_cxx2011.xml: Update.
Jonathan Wakely [Fri, 19 Oct 2012 16:53:32 +0000 (16:53 +0000)]
* doc/xml/manual/status_cxx2011.xml: Update.

From-SVN: r192616

11 years agotarget-supports.exp (check_effective_target_arm_prefer_ldrd_strd): New procedure.
Greta Yorsh [Fri, 19 Oct 2012 16:33:28 +0000 (17:33 +0100)]
target-supports.exp (check_effective_target_arm_prefer_ldrd_strd): New procedure.

2012-10-19  Greta Yorsh  <Greta.Yorsh@arm.com>

gcc/testsuite/

        * gcc.target/arm/target-supports.exp (check_effective_target_arm_prefer_ldrd_strd):
        New procedure.

gcc/

* doc/sourcebuild.texi (Effective-Target Keywords): Document
new effective target keyword arm_prefer_ldrd_strd.

From-SVN: r192615

11 years agoscoped_allocator (__outermost_alloc_traits): Define.
Jonathan Wakely [Fri, 19 Oct 2012 16:16:11 +0000 (16:16 +0000)]
scoped_allocator (__outermost_alloc_traits): Define.

* include/std/scoped_allocator (__outermost_alloc_traits): Define.
(scoped_allocator_adaptor::destroy): Use it.
(scoped_allocator_adaptor::construct): Likewise. Overload for
piecewise construction of std::pair objects.
* testsuite/20_util/scoped_allocator/2.cc: New.
* doc/xml/manual/status_cxx2011.xml: Update.

From-SVN: r192613

11 years agore PR tree-optimization/54981 (Different code generated with / without `-g')
Richard Guenther [Fri, 19 Oct 2012 13:05:40 +0000 (13:05 +0000)]
re PR tree-optimization/54981 (Different code generated with / without `-g')

2012-10-19  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/54981
* tree-loop-distribution.c (ssa_name_has_uses_outside_loop_p):
Do not consider debug stmts as uses.

* gcc.dg/pr54981.c: New testcase.

From-SVN: r192612

11 years agore PR tree-optimization/54976 (FAIL: gcc.dg/torture/pr47975.c (internal compiler...
Richard Biener [Fri, 19 Oct 2012 10:32:29 +0000 (10:32 +0000)]
re PR tree-optimization/54976 (FAIL: gcc.dg/torture/pr47975.c (internal compiler error))

2012-10-19  Richard Biener  <rguenther@suse.de>

PR tree-optimization/54976
* tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
Robustify against odd inner_mode inputs.

From-SVN: r192611

11 years agore PR target/54892 (, ICE in extract_insn, at recog.c:2123)
Zhenqiang Chen [Fri, 19 Oct 2012 09:24:39 +0000 (09:24 +0000)]
re PR target/54892 (, ICE in extract_insn, at recog.c:2123)

gcc/ChangeLog
PR target/54892
* config/arm/arm.c (arm_expand_compare_and_swap): Use SImode to make
sure the mode is correct when falling through from above cases.

gcc/testsuite/ChangeLog
PR target/54892
* gcc.target/arm/pr54892.c: New.

From-SVN: r192609

11 years agocunroll-1.c: New testcase.
Jan Hubicka [Fri, 19 Oct 2012 09:17:06 +0000 (09:17 +0000)]
cunroll-1.c: New testcase.

* gcc.dg/tree-ssa/cunroll-1.c: New testcase.
* gcc.dg/tree-ssa/cunroll-2.c: New testcase.
* gcc.dg/tree-ssa/cunroll-3.c: New testcase.
* gcc.dg/tree-ssa/cunroll-4.c: New testcase.
* gcc.dg/tree-ssa/cunroll-5.c: New testcase.

From-SVN: r192608

11 years agocommon.opt (flag_ira_hoist_pressure): New.
Bin Cheng [Fri, 19 Oct 2012 05:42:24 +0000 (05:42 +0000)]
common.opt (flag_ira_hoist_pressure): New.

gcc/ChangeLog
* common.opt (flag_ira_hoist_pressure): New.
* doc/invoke.texi (-fira-hoist-pressure): Describe.
* ira-costs.c (ira_set_pseudo_classes): New parameter.
* ira.h: Update copyright dates.
(ira_set_pseudo_classes): Update prototype.
* haifa-sched.c (sched_init): Update call.
* ira.c (ira): Update call.
* regmove.c: Update copyright dates.
(regmove_optimize): Update call.
* loop-invariant.c: Update copyright dates.
(move_loop_invariants): Update call.
* gcse.c: (struct bb_data): New structure.
(BB_DATA): New macro.
(curr_bb, curr_reg_pressure): New static variables.
(should_hoist_expr_to_dom): Rename from hoist_expr_reaches_here_p.
Change parameter expr_index to expr.
New parameters pressure_class, nregs and hoisted_bbs.
Use reg pressure to determine the distance expr can be hoisted.
(hoist_code): Use reg pressure to direct the hoist process.
(get_regno_pressure_class, get_pressure_class_and_nregs)
(change_pressure, calculate_bb_reg_pressure): New.
(one_code_hoisting_pass): Calculate register pressure. Allocate
and free data.

gcc/testsuite/ChangeLog
* testsuite/gcc.dg/hoist-register-pressure.c: New test.

From-SVN: r192604

11 years agogcse.c: Update copyright dates.
Bin Cheng [Fri, 19 Oct 2012 05:34:44 +0000 (05:34 +0000)]
gcse.c: Update copyright dates.

* gcse.c: Update copyright dates.
(hoist_expr_reaches_here_p): Change parameter type from char *
to sbitmap.

From-SVN: r192603

11 years agoconfig.host (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*): Rename "arm...
Sebastian Huber [Fri, 19 Oct 2012 01:18:36 +0000 (01:18 +0000)]
config.host (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*): Rename "arm*-*-rtemseabi*" to "arm*-*-rtems*".

2012-10-18  Sebastian Huber <sebastian.huber@embedded-brains.de>

* config.host
(arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*): Rename
"arm*-*-rtemseabi*" to "arm*-*-rtems*".

From-SVN: r192600

11 years agoconfig.host (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*): Rename "arm...
Sebastian Huber [Fri, 19 Oct 2012 01:17:53 +0000 (01:17 +0000)]
config.host (arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*): Rename "arm*-*-rtemseabi*" to "arm*-*-rtems*".

2012-10-18  Sebastian Huber <sebastian.huber@embedded-brains.de>

* config.host
(arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*): Rename
"arm*-*-rtemseabi*" to "arm*-*-rtems*".

From-SVN: r192599

11 years agoDaily bump.
GCC Administrator [Fri, 19 Oct 2012 00:18:48 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r192598

11 years agoconfigure.ac (HAVE_LD_NO_DOT_SYMS): Set if using gold.
Alan Modra [Thu, 18 Oct 2012 23:02:25 +0000 (09:32 +1030)]
configure.ac (HAVE_LD_NO_DOT_SYMS): Set if using gold.

* configure.ac (HAVE_LD_NO_DOT_SYMS): Set if using gold.
(HAVE_LD_LARGE_TOC): Likewise.
* configure: Regenerate.

From-SVN: r192593

11 years agore PR c++/54501 (infinite recursion on illegal code)
Paolo Carlini [Thu, 18 Oct 2012 22:48:35 +0000 (22:48 +0000)]
re PR c++/54501 (infinite recursion on illegal code)

/cp
2012-10-18  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54501
* decl.c (reshape_init_array_1): Avoid infinite loops.

/testsuite
2012-10-18  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54501
* g++.dg/init/array30.C: New.
* g++.dg/init/array31.C: Likewise.

From-SVN: r192592

11 years agopredicates.md (splat_input_operand): Don't call input_operand for MEMs.
Alan Modra [Thu, 18 Oct 2012 22:33:15 +0000 (09:03 +1030)]
predicates.md (splat_input_operand): Don't call input_operand for MEMs.

* config/rs6000/predicates.md (splat_input_operand): Don't call
input_operand for MEMs.  Instead check for volatile and call
memory_address_addr_space_p with modified mode.

From-SVN: r192590

11 years agoi386.md (rdpmc): Remove expander.
Uros Bizjak [Thu, 18 Oct 2012 21:46:52 +0000 (23:46 +0200)]
i386.md (rdpmc): Remove expander.

* config/i386/i386.md (rdpmc): Remove expander.
(rdtsc): Ditto.
(rdtscp): Ditto.
(rdpmc): Rename from *rdpmc.
(rdpmc_rex64): Rename from *rdpmc_rex64.
(rdtsc): Rename from *rdtsc.
(rdtsc_rex64): Rename from *rdtsc_rex64.
(rdtscp): Rename from *rdtscp.
(rdtscp_rex64): Rename from *rdtscp_rex64.

* config/i386/i386.c (struct builtin_description bdesc_special_args)
<IX86_BUILTIN_RDTSC>: Use CODE_FOR_NOTHING.
<IX86_BUILTIN_RDTSCP>: Ditto.
(struct builtin_description bdesc__args) <IX86_BUILTIN_RDPMC>: Ditto.
(ix86_expand_builtin) <IX86_BUILTIN_{RDPMC,RDTSC,RDTSCP}>: Handle here.

From-SVN: r192589

11 years agoforward_list.h: Add C++11 allocator support.
Jonathan Wakely [Thu, 18 Oct 2012 21:06:21 +0000 (21:06 +0000)]
forward_list.h: Add C++11 allocator support.

* include/bits/forward_list.h: Add C++11 allocator support.
* include/bits/forward_list.tcc: Likewise.
* doc/xml/manual/status_cxx2011.xml: Update.
* testsuite/23_containers/forward_list/allocator/copy.cc: New.
* testsuite/23_containers/forward_list/allocator/copy_assign.cc: New.
* testsuite/23_containers/forward_list/allocator/minimal.cc: New.
* testsuite/23_containers/forward_list/allocator/move_assign.cc: New.
* testsuite/23_containers/forward_list/allocator/noexcept.cc: New.
* testsuite/23_containers/forward_list/allocator/swap.cc: New.

From-SVN: r192588

11 years agoformatter.h (_Debug_msg_id): Add __msg_valid_load_factor.
François Dumont [Thu, 18 Oct 2012 19:50:37 +0000 (19:50 +0000)]
formatter.h (_Debug_msg_id): Add __msg_valid_load_factor.

2012-10-18  François Dumont  <fdumont@gcc.gnu.org>

* include/debug/formatter.h (_Debug_msg_id): Add
__msg_valid_load_factor.
* include/debug/macros.h (__glibcxx_check_max_load_factor): New.
* include/debug/unordered_set
(unordered_set<>::max_load_factor(float)): Check max load factor
is positive.
(unordered_multiset<>::max_load_factor(float)): Likewise.
* include/debug/unordered_map
(unordered_map<>::max_load_factor(float)): Likewise.
(unordered_multimap<>::max_load_factor(float)): Likewise.
* testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc:
New.
* testsuite/23_containers/unordered_multimap/debug/
max_load_factor_neg.cc: New.
* testsuite/23_containers/unordered_set/debug/max_load_factor_neg.cc:
New.
* testsuite/23_containers/unordered_multiset/debug/
max_load_factor_neg.cc: New.

From-SVN: r192575

11 years agoc-ada-spec.c (LOCATION_COL): Delete.
Eric Botcazou [Thu, 18 Oct 2012 18:47:23 +0000 (18:47 +0000)]
c-ada-spec.c (LOCATION_COL): Delete.

* c-ada-spec.c (LOCATION_COL): Delete.
(compare_location): New function.
(compare_node): Use it.
(compare_comment): Likewise.

From-SVN: r192574

11 years agoChangelog: Fix whitespace.
Jan-Benedict Glaw [Thu, 18 Oct 2012 18:07:17 +0000 (18:07 +0000)]
Changelog: Fix whitespace.

2012-10-18  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

gcc/
* Changelog: Fix whitespace.

From-SVN: r192573

11 years agosh.c: Fix comment to silence warning.
Jan-Benedict Glaw [Thu, 18 Oct 2012 17:59:37 +0000 (17:59 +0000)]
sh.c: Fix comment to silence warning.

2012-10-18  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

gcc/
* config/sh/sh.c: Fix comment to silence warning.

From-SVN: r192572

11 years agore PR fortran/54884 (Externally used PRIVATE module procedure wrongly marked as TREE_...
Tobias Burnus [Thu, 18 Oct 2012 17:09:13 +0000 (19:09 +0200)]
re PR fortran/54884 (Externally used PRIVATE module procedure wrongly marked as TREE_PUBLIC()=0)

2012-10-18  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54884
        * resolve.c (specification_expr): Change to bool.
        (resolve_formal_arglist, resolve_symbol): Set
        specification_expr to true before resolving the array spec.
        (resolve_variable, resolve_charlen, resolve_fl_variable):
        Properly reset specification_expr.
        (resolve_function): Set public_use when used in
        a specification expr.

2012-10-18  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54884
        * gfortran.dg/public_private_module_7.f90: New.

From-SVN: r192571

11 years agore PR c++/29633 (syntax error in do/while condition with templates reports incorrect...
Paolo Carlini [Thu, 18 Oct 2012 17:02:10 +0000 (17:02 +0000)]
re PR c++/29633 (syntax error in do/while condition with templates reports incorrect line number)

2012-10-18  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/29633
* g++.dg/template/pr29633.C: New.

From-SVN: r192570

11 years agoA15 neon description.
Matthew Gretton-Dann [Thu, 18 Oct 2012 16:43:15 +0000 (16:43 +0000)]
A15 neon description.

2012-10-18  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
            Sameera Deshpande  <sameera.deshpande@arm.com>

           * config/arm/cortex-a15-neon.md: New file.
           * config/arm/cortex-a15.md (cortex_a15_call): Adjust reservation.
           (cortex_a15_load1): Likewise.
           (cortex_a15_load3): Likewise.
           (cortex_a15_store1): Likewise.
           (cortex_a15_store3): Likewise.
           (cortex-a15-neon.md): Include.

Co-Authored-By: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
Co-Authored-By: Sameera Deshpande <sameera.deshpande@arm.com>
From-SVN: r192569

11 years agoaltivec.md (altivec_lvsl, [...]): Add mode.
Segher Boessenkool [Thu, 18 Oct 2012 16:35:07 +0000 (18:35 +0200)]
altivec.md (altivec_lvsl, [...]): Add mode.

gcc/
* config/rs6000/altivec.md (altivec_lvsl, altivec_lvsr): Add mode.
(altivec_vsumsws_nomode): Delete.
(reduc_splus_<mode>, reduc_uplus_<mode>): Call gen_altivec_vsumsws
instead of gen_altivec_vsumsws_nomode.
(altivec_lvlx, altivec_lvlxl, altivec_lvrx, altivec_lvrxl):
Add mode.
* config/rs6000/rs6000.md (probe_stack): Rename to...
(probe_stack_<mode>): ... this.  Add mode.  Change pattern to
use std instead of stw when appropriate.
(probe_stack): New expander.
(move_from_CR_ov_bit): Add mode.
(splitter for compare_plus_ne0_<mode>, splitter for
compare_plus_ne0_<mode>_1): Remove constraints.
* config/rs6000/sync.md (loadsync): Rename to...
(loadsync_<mode>): ... this.  Add mode.
(atomic_load<mode>): Adjust.

From-SVN: r192568

11 years agoloop-invariant.c: Include target.h.
Eric Botcazou [Thu, 18 Oct 2012 15:46:04 +0000 (15:46 +0000)]
loop-invariant.c: Include target.h.

* loop-invariant.c: Include target.h.
(check_dependency): Return false for an uninitialized argument register
that is likely to be spilled.
* Makefile.in (loop-invariant.o): Add $(TARGET_H).

From-SVN: r192566

11 years ago* except.c (sjlj_emit_function_enter): Remove unused variable.
Eric Botcazou [Thu, 18 Oct 2012 15:38:26 +0000 (15:38 +0000)]
* except.c (sjlj_emit_function_enter): Remove unused variable.

From-SVN: r192565

11 years agoAdd support for fma intrinsics for ARM.
Matthew Gretton-Dann [Thu, 18 Oct 2012 12:02:01 +0000 (12:02 +0000)]
Add support for fma intrinsics for ARM.

Correct dates in changelog from earlier commit.

2012-10-18  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

        * config/arm/arm.c (neon_builtin_data): Add vfma and vfms
       builtins.
        * config/arm/neon-docgen.ml (intrinsic_groups): Add
        fused-multiply-* groups.
        * config/neon-gen.ml (print_feature_test_start): New function.
        (print_feature_test_end): Likewise.
        (print_variant): Print feature test macros.
        * config/arm/neon-testgen.ml (emit_prologue): Allow different
        tests to require different effective targets.
        (effective_target): New function.
        (test_intrinsic): Specify correct effective targets.
        * gcc/config/arm/neon.md (fma<VCVTF:mode>4_intrinsic): New pattern.
        (fmsub<VCVTF:mode>4_intrinsic): Likewise.
        (neon_vfma<VCVFT:mode>): New expand.
        (neon_vfms<VCVFT:mode>): Likewise.
        * config/neon.ml (opcode): Add Vfma and Vfms.
        (features): Add Requires_feature.
        (ops): Add VFMA and VFMS intrinsics.
        * config/arm/arm_neon.h: Regenerate.
        * doc/arm-neon-intrinsics.texi: Likewise.

2012-10-18  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

        * gcc.target/arm/neon/vfmaQf32.c: New testcase.
        * gcc.target/arm/neon/vfmaf32.c: Likewise.
        * gcc.target/arm/neon/vfmsQf32.c: Likewise.
        * gcc.target/arm/neon/vfmsf32.c: Likewise.

Co-Authored-By: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
From-SVN: r192560

11 years agolto-streamer.h (enum LTO_tags): Add LTO_integer_cst.
Richard Guenther [Thu, 18 Oct 2012 10:59:55 +0000 (10:59 +0000)]
lto-streamer.h (enum LTO_tags): Add LTO_integer_cst.

2012-10-18  Richard Guenther  <rguenther@suse.de>

* lto-streamer.h (enum LTO_tags): Add LTO_integer_cst.
* lto-streamer-in.c (lto_input_tree): Use it.
* lto-streamer-out.c (lto_output_tree): Likewise, for
!TREE_OVERFLOW integer constants only.
* tree-streamer-in.c (unpack_ts_int_cst_value_fields): New function.
(unpack_value_fields): Call it.
(streamer_read_integer_cst): Simplify.
* tree-streamer-out.c (pack_ts_int_cst_value_fields): New function.
(streamer_pack_tree_bitfields): Call it.
(streamer_write_integer_cst): Adjust.

From-SVN: r192559

11 years agoAdd basic armv8-a support
Matthew Gretton-Dann [Thu, 18 Oct 2012 10:49:23 +0000 (10:49 +0000)]
Add basic armv8-a support

2012-10-17  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

* config/arm/lib1funcs.S (__ARM_ARCH__): Define for ARMv8-A.

2012-10-17  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

        * gcc.target/arm/ftest-armv8a-arm.c: New testcase.
        * gcc.target/arm/ftest-armv8a-thumb.c: Likewise.
        * gcc.target/arm/ftest-support-arm.h (feature_matrix): Add
        ARMv8-A row.
        * gcc.target/arm/ftest-support-thumb.h (feature_matrix):
        Likewise.
        * gcc.target/arm/ftest-support.h (architecture): Add ARMv8-A.
        * lib/target-supports.exp: Add ARMv8-A architecture expectation.

2012-10-17  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

        * config.gcc: Add support for ARMv8 for arm*-*-* targets.
        * config/arm/arm-arches.def: Add armv8-a
        * config/arm/arm-fpus.def: Add fp-armv8, neon-fp-armv8,
        crypto-neon-fp-armv8.  Add crypto field.
        * config/arm/arm-tables.opt: Regenerate.
        * config/arm/arm.c (FL_FOR_ARCH8A): Likewise.
        (arm_arch8): New global variable.
        (ARM_FPU): Add crypto parameter.
        (arm_option_override): Set arm_arch8, update comments.
        * config/arm/arm.h (TARGET_CRYPTO): New macro.
        (arm_fpu_desc): Add crypto field.
        (base_architecture): Add ARMv8 entry.
        (arm_arch8): New variable declaration.
        * config/arm/bpabi.h: ARMv8 supports BE8.
        * doc/invoke.texi: Document ARMv8 options.

Co-Authored-By: Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
From-SVN: r192558

11 years agomove.h (move_if_noexcept): Mark constexpr.
Benjamin Kosnik [Thu, 18 Oct 2012 08:36:06 +0000 (08:36 +0000)]
move.h (move_if_noexcept): Mark constexpr.

2012-10-17  Benjamin Kosnik  <bkoz@redhat.com>

* include/bits/move.h (move_if_noexcept): Mark constexpr.
* include/std/array (front, back): Same.
* include/std/chrono: Add comment.
* include/std/tuple (__tuple_compare): Mark __eq, __less constexpr.
(operator ==, <, >, !=, <=, >=): Same.
* testsuite/20_util/forward/c_neg.cc: Adjust line numbers.
* testsuite/20_util/forward/f_neg.cc: Same.
* testsuite/20_util/move_if_noexcept/constexpr.cc: New.
* testsuite/20_util/tuple/comparison_operators/constexpr.cc: New.
* testsuite/20_util/tuple/creation_functions/constexpr.cc: Add.
* testsuite/23_containers/array/element_access/
constexpr_element_access.cc: Same.
* testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
line numbers.
* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
Same.

* testsuite/20_util/tuple/comparison_operators/35480_neg.cc:
          Temporarily add dg-excess-errors.

From-SVN: r192556

11 years agoDaily bump.
GCC Administrator [Thu, 18 Oct 2012 00:18:37 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r192552

11 years agore PR middle-end/54893 (unable to access volatile variable within relaxed transaction)
Aldy Hernandez [Wed, 17 Oct 2012 21:18:16 +0000 (21:18 +0000)]
re PR middle-end/54893 (unable to access volatile variable within relaxed transaction)

PR middle-end/54893
        * trans-mem.c (diagnose_tm_1_op): Allow volatiles inside relaxed
        transactions.

From-SVN: r192549

11 years agore PR rtl-optimization/54900 (write introduction incorrect wrt the C11 memory model...
Aldy Hernandez [Wed, 17 Oct 2012 20:59:40 +0000 (20:59 +0000)]
re PR rtl-optimization/54900 (write introduction incorrect wrt the C11 memory model (2))

PR rtl-optimization/54900
* ifcvt.c (noce_can_store_speculate_p): Call
memory_must_be_modified_in_insn_p.
* alias.c (memory_must_be_modified_in_insn_p): New.
(set_dest_equal_p): New.
* rtl.h (memory_must_be_modified_in_p): Protoize.

From-SVN: r192548

11 years agors6000.opt (rs6000_isa_flags): New flag word to replace target_flags that gives us...
Michael Meissner [Wed, 17 Oct 2012 20:12:38 +0000 (20:12 +0000)]
rs6000.opt (rs6000_isa_flags): New flag word to replace target_flags that gives us 63 possible switches.

2012-10-17  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config/rs6000/rs6000.opt (rs6000_isa_flags): New flag word to
replace target_flags that gives us 63 possible switches.
(x_rs6000_isa_flags): Save area for rs6000_isa_flags.
(x_rs6000_isa_flags_explicit): Save area for
rs6000_isa_flags_explicit.
(rs6000_target_flags_explicit): Delete in favor of
x_rs6000_isa_flags_explicit.
(-mpowerpc64): Change all switches that used to be in target_flags
to now be in rs6000_isa_flags.  In using rs6000_isa_flags, the
options machinary will generate names of the form OPITON_<xxx>
instead of TARGET_<xxx> and OPTION_MASK_<xxx> instead of
MASK_<xxx>.
(-mpowerpc-gpopt): Likewise.
(-mpowerpc-gfxopt): Likewise.
(-mmfcrf): Likewise.
(-mpopcntb): Likewise.
(-mfprnd): Likewise.
(-mcmpb): Likewise.
(-mmfpgpr): Likewise.
(-maltivec): Likewise.
(-mhard-dfp): Likewise.
(-mmulhw): Likewise.
(-mdlmzb): Likewise.
(-mmultiple): Likewise.
(-mstring): Likewise.
(-msoft-float): Likewise.
(-mhard-float): Likewise.
(-mpopcntd): Likewise.
(-mvsx): Likewise.
(-mno-update): Likewise.
(-mupdate): Likewise.
(-mrecip-precision): Likewise.
(-mminimal-toc): Likewise.
(-misel): Likewise.
* config/rs6000/aix64.opt (-maix64): Likewise.
(-maix32): Likewise.
* config/rs6000/sysv4.opt (-mstrict-align): Likewise.
(-mrelocatable): Likewise.
(-mlittle-endian): Likewise.
(-mlittle): Likewise.
(-mbig-endian): LIkewise.
(-mbig): Likewise.
(-meabi): Likewise.
(-m64): Likewise.
(-m32): Likewise.
* config/rs6000/darwin.opt (-m64): Likewise.
(-m32): Likewise.

* config/rs6000/rs6000-cpus.def (ISA_2_1_MASKS): Move the various
masks used in rs6000.c here, since they are more logically in this
file.  Convert from being enums to just #defines, since the types
of these masks is now HOST_WIDE_INT instead of int.  For
POWERPC_MASKS, add MASK_SOFT_FLOAT, since the only use case or'ed
in the mask.  Change the use in rs6000.c not to do the OR of
MASK_SOFT_FLOAT.
(ISA_2_1_MASKS): Likewise.
(ISA_2_2_MASKS): Likewise.
(ISA_2_4_MASKS): Likewise.
(ISA_2_5_MASKS_EMBEDDED): Likewise.
(ISA_2_5_MASKS_SERVER): Likewise.
(POWERPC_7400_MASK): Likewise.
(POWERPC_MASKS): Likewise.
* config/rs6000/rs6000.c (ISA_2_1_MASKS): Likewise.
(ISA_2_1_MASKS): Likewise.
(ISA_2_2_MASKS): Likewise.
(ISA_2_4_MASKS): Likewise.
(ISA_2_5_MASKS_EMBEDDED): Likewise.
(ISA_2_5_MASKS_SERVER): Likewise.
(POWERPC_7400_MASK): Likewise.
(POWERPC_MASKS): Likewise.
(rs6000_option_override_internal): Likewise.

* config/rs6000/rs6000.c (darwin_rs6000_override_options): Change
all uses of target_flags to rs6000_isa_flags.  Change all uses of
target_flags_explicit to rs6000_isa_flags_explicit.  Change the
use of MASK_<xxx> to OPTION_MASK_<xxx> that options.h defines when
we use a secondary flags word.  Save/restore/print the new flags
word when switching contexts with different target attributes.
(rs6000_option_override_internal): Likewise.
(rs6000_darwin_file_start): Likewise.
(rs6000_opt_masks): Likewise.
(rs6000_inner_target_options): Likewise.
(rs6000_pragma_target_parse): Likewise.
(rs6000_set_current_function): Likewise.
(rs6000_function_specific_save): Likewise.
(rs6000_function_specific_restore): Likewise.
(rs6000_function_specific_print): Likewise.
(rs6000_can_inline_p): Likewise.
* config/rs6000/rs6000-c.c (rs6000_target_modify_macros):
Likewise.
(rs6000_cpu_cpp_builtins): Likewise.
* common/config/rs6000/rs6000-driver.c (rs6000_handle_option):
Likewise.

* config/rs6000/rs6000.h (MASK_ALTIVEC): In moving to using
Var(...) for all of the isa switches, the options machinery now
uses OPTION_MASK_<xxx> instead of MASK_<xxx> for the mask name.
Use #define to map the old name into the new name.  For switches
that are defined in aix64.opt, sysv4.opt, and darwin.opt, only do
the definition if those switches were defined.
(MASK_ALTIVEC): Likewise.
(MASK_CMPB): Likewise.
(MASK_DFP): Likewise.
(MASK_DLMZB): Likewise.
(MASK_EABI): Likewise.
(MASK_FPRND): Likewise.
(MASK_HARD_FLOAT): Likewise.
(MASK_ISEL): Likewise.
(MASK_MFCRF): Likewise.
(MASK_MFPGPR): Likewise.
(MASK_MULHW): Likewise.
(MASK_MULTIPLE): Likewise.
(MASK_NO_UPDATE): Likewise.
(MASK_POPCNTB): Likewise.
(MASK_POPCNTD): Likewise.
(MASK_PPC_GFXOPT): Likewise.
(MASK_PPC_GPOPT): Likewise.
(MASK_RECIP_PRECISION): Likewise.
(MASK_SOFT_FLOAT): Likewise.
(MASK_STRICT_ALIGN): Likewise.
(MASK_STRING): Likewise.
(MASK_UPDATE): Likewise.
(MASK_VSX): Likewise.
(MASK_POWERPC64): Likewise.
(MASK_64BIT): Likewise.
(MASK_RELOCATABLE): Likewise.
(MASK_LITTLE_ENDIAN): Likewise.
(MASK_MINIMAL_TOC): Likewise.
(MASK_REGNAMES): Likewise.
(MASK_PROTOTYPE): Likewise.
(rs6000_isa_flags_explicit): Define in terms of the
global_options_set structure.

* gcc/config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS):
Change use of target_flags to rs6000_isa_flags,
target_flags_explicit to rs6000_isa_flags_explicit, and MASK_<xxx>
to OPTION_MASK_<xxx>.
* gcc/config/rs6000/aix51.h (SUBTARGET_OVERRIDE_OPTIONS):
Likewise.
* gcc/config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS):
Likewise.
* gcc/config/rs6000/aix53.h (SUBTARGET_OVERRIDE_OPTIONS):
Likewise.
* gcc/config/rs6000/aix61.h (SUBTARGET_OVERRIDE_OPTIONS):
Likewise.
* gcc/config/rs6000/freebsd64.h (RELOCATABLE_NEEDS_FIXUP):
Likewise.
(SUBSUBTARGET_OVERRIDE_OPTIONS): Likewise.
* gcc/config/rs6000/freebsd.h (RELOCATABLE_NEEDS_FIXUP):
Likewise.
* gcc/config/rs6000/linux64.h (RELOCATABLE_NEEDS_FIXUP):
Likewise.
(SUBSUBTARGET_OVERRIDE_OPTIONS): Likewise.
(OPTION_LITTLE_ENDIAN): Likewise.
(OPTION_RELOCATABLE): Likewise.
(OPTION_EABI): Likewise.
(OPTION_PROTOTYPE): Likewise.
* gcc/config/rs6000/linux.h (RELOCATABLE_NEEDS_FIXUP): Likewise.
* gcc/config/rs6000/option-defaults.h (OPTION_MASK_64BIT):
Likewise.
(OPT_ARCH32): Likewise.
(OPT_ARCH64): Likewise.
* gcc/config/rs6000/sysv4.h (TARGET_TOC): Likewise.
(SUBTARGET_OVERRIDE_OPTIONS): Likewise.
(SUBSUBTARGET_OVERRIDE_OPTIONS): Likewise.
(TARGET_OS_SYSV_CPP_BUILTINS): Likewise.

* config/rs6000/t-rs6000 (rs6000.o): Add rs6000-cpus.def as a
dependency.

From-SVN: r192545

11 years agocfgloopmanip.c (copy_loop_info): New function.
Jan Hubicka [Wed, 17 Oct 2012 19:50:16 +0000 (21:50 +0200)]
cfgloopmanip.c (copy_loop_info): New function.

* cfgloopmanip.c (copy_loop_info): New function.
(duplicate_loop): Use it.
(loop_version): Use it.
* loop-unswitch.c (unswitch_loop): Use it.
* cfgloop.h (copy_loop_info): Declare.

From-SVN: r192543

11 years agotree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Add edge_to_cancel parameter and...
Jan Hubicka [Wed, 17 Oct 2012 17:12:05 +0000 (19:12 +0200)]
tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Add edge_to_cancel parameter and use it to estimate code optimized out in the...

* tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Add edge_to_cancel
parameter and use it to estimate code optimized out in the final iteration.
(loop_edge_to_cancel): New function.
(try_unroll_loop_completely): New IRRED_IVALIDATED parameter;
handle unrolling loops with bounds given via max_loop_iteratins;
handle unrolling non-inner loops when code size shrinks;
tidy dump output; when the last iteration loop still stays
as loop in the CFG forcongly redirect the latch to
__builtin_unreachable.
(canonicalize_loop_induction_variables): Add irred_invlaidated
parameter; record niter bound derrived; dump
max_loop_iterations bounds; call try_unroll_loop_completely
even if no niter bound is given.
(canonicalize_induction_variables): Handle irred_invalidated.
(tree_unroll_loops_completely): Handle non-innermost loops;
handle irred_invalidated.
* cfgloop.h (unlop): Declare.
* cfgloopmanip.c (unloop): Export.
* tree.c (build_common_builtin_nodes): Build BULTIN_UNREACHABLE.

* gcc.target/i386/l_fma_float_?.c: Update.
* gcc.target/i386/l_fma_double_?.c: Update.
* gfortran.dg/do_1.f90: XFAIL
* gcc.dg/tree-ssa/cunroll-1.c: New testcase.
* gcc.dg/tree-ssa/cunroll-2.c: New testcase.
* gcc.dg/tree-ssa/cunroll-3.c: New testcase.
* gcc.dg/tree-ssa/cunroll-4.c: New testcase.
* gcc.dg/tree-ssa/cunroll-5.c: New testcase.
* gcc.dg/tree-ssa/ldist-17.c: Block cunroll to make testcase still
valid.

From-SVN: r192538

11 years agoopth-gen.awk (TARGET_* generation): Always generate TARGET_<xxx> for Mask options...
Michael Meissner [Wed, 17 Oct 2012 16:49:26 +0000 (16:49 +0000)]
opth-gen.awk (TARGET_* generation): Always generate TARGET_<xxx> for Mask options, whether they use Var(...) or not.

2012-10-17  Michael Meissner  <meissner@linux.vnet.ibm.com>

* opth-gen.awk (TARGET_* generation): Always generate TARGET_<xxx>
for Mask options, whether they use Var(...) or not.

* config/linux-android.h (ANDROID_TARGET_OS_CPP_BUILTINS): Use
TARGET_<xxx> instead of OPTION_<xxx>.
* config/i386/i386.h (TARGET_64BIT): Likewise.
(TARGET_MMX): Likewise.
(TARGET_3DNOW): Likewise.
(TARGET_3DNOW_A): Likewise.
(TARGET_SSE): Likewise.
(TARGET_SSE2): Likewise.
(TARGET_SSE3): Likewise.
(TARGET_SSSE3): Likewise.
(TARGET_SSE4_1): Likewise.
(TARGET_SSE4_2): Likewise.
(TARGET_AVX): Likewise.
(TARGET_AVX2): Likewise.
(TARGET_FMA): Likewise.
(TARGET_SSE4A): Likewise.
(TARGET_FMA4): Likewise.
(TARGET_XOP): Likewise.
(TARGET_LWP): Likewise.
(TARGET_ROUND): Likewise.
(TARGET_ABM): Likewise.
(TARGET_BMI): Likewise.
(TARGET_BMI2): Likewise.
(TARGET_LZCNT): Likewise.
(TARGET_TBM): Likewise.
(TARGET_POPCNT): Likewise.
(TARGET_SAHF): Likewise.
(TARGET_MOVBE): Likewise.
(TARGET_CRC32): Likewise.
(TARGET_AES): Likewise.
(TARGET_PCLMUL): Likewise.
(TARGET_CMPXCHG16B): Likewise.
(TARGET_FSGSBASE): Likewise.
(TARGET_RDRND): Likewise.
(TARGET_F16C): Likewise.
(TARGET_RTM     ): Likewise.
(TARGET_HLE): Likewise.
(TARGET_RDSEED): Likewise.
(TARGET_PRFCHW): Likewise.
(TARGET_ADX): Likewise.
(TARGET_64BIT): Likewise.
(TARGET_MMX): Likewise.
(TARGET_3DNOW): Likewise.
(TARGET_3DNOW_A): Likewise.
(TARGET_SSE): Likewise.
(TARGET_SSE2): Likewise.
(TARGET_SSE3): Likewise.
(TARGET_SSSE3): Likewise.
(TARGET_SSE4_1): Likewise.
(TARGET_SSE4_2): Likewise.
(TARGET_AVX): Likewise.
(TARGET_AVX2): Likewise.
(TARGET_FMA): Likewise.
(TARGET_SSE4A): Likewise.
(TARGET_FMA4): Likewise.
(TARGET_XOP): Likewise.
(TARGET_LWP): Likewise.
(TARGET_ROUND): Likewise.
(TARGET_ABM): Likewise.
(TARGET_BMI): Likewise.
(TARGET_BMI2): Likewise.
(TARGET_LZCNT): Likewise.
(TARGET_TBM): Likewise.
(TARGET_POPCNT): Likewise.
(TARGET_SAHF): Likewise.
(TARGET_MOVBE): Likewise.
(TARGET_CRC32): Likewise.
(TARGET_AES): Likewise.
(TARGET_PCLMUL): Likewise.
(TARGET_CMPXCHG16B): Likewise.
(TARGET_FSGSBASE): Likewise.
(TARGET_RDRND): Likewise.
(TARGET_F16C): Likewise.
(TARGET_RTM): Likewise.
(TARGET_HLE): Likewise.
(TARGET_RDSEED): Likewise.
(TARGET_PRFCHW): Likewise.
(TARGET_ADX): Likewise.
(TARGET_LP64): Likewise.
(TARGET_X32): Likewise.
(TARGET_ISA_ROUND): Likewise.
* config/i386/darwin.h (TARGET_64BIT): Likewise.

* doc/options.texi (Mask): Update documentation to specify only
TARGET_<xxx> is generated.

From-SVN: r192537

11 years agoarm.md (UNSPEC_PROLOGUE_USE): Rename this...
Greta Yorsh [Wed, 17 Oct 2012 13:17:30 +0000 (14:17 +0100)]
arm.md (UNSPEC_PROLOGUE_USE): Rename this...

        * config/arm/arm.md (UNSPEC_PROLOGUE_USE): Rename this...
        (UNSPEC_REGISTER_USE): ... to this.
        (prologue_use): Rename this...
  (force_register_use): ... to this and update output assembly.
        (epilogue) Rename gen_prologue_use to gen_force_register_use.
        * config/arm/arm.c (arm_expand_prologue): Likewise.
        (thumb1_expand_epilogue): Likewise.
        (arm_expand_epilogue): Likewise.
        (arm_expand_epilogue): Likewise.

From-SVN: r192533

11 years agoavr-arch.h (avr_extra_arch_macro): Remove prototype.
Georg-Johann Lay [Wed, 17 Oct 2012 12:53:22 +0000 (12:53 +0000)]
avr-arch.h (avr_extra_arch_macro): Remove prototype.

* config/avr/avr-arch.h (avr_extra_arch_macro): Remove prototype.
* config/avr/avr.c (avr_extra_arch_macro): Remove variable.
(avr_option_override): Remove setting of avr_extra_arch_macro.
* config/avr/avr-c.c (avr_extra_arch_macro): Replace with
avr_current_device->macro.

From-SVN: r192532

11 years agotree-streamer-out.c (write_ts_decl_common_tree_pointers): Do not write TREE_CHAIN...
Richard Biener [Wed, 17 Oct 2012 10:25:56 +0000 (10:25 +0000)]
tree-streamer-out.c (write_ts_decl_common_tree_pointers): Do not write TREE_CHAIN of PARM_DECLs.

2012-10-17  Richard Biener  <rguenther@suse.de>

* tree-streamer-out.c (write_ts_decl_common_tree_pointers):
Do not write TREE_CHAIN of PARM_DECLs.
(write_ts_decl_non_common_tree_pointers): Instead stream
the DECL_ARGUMENTS chain.
* tree-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
Do not read TREE_CHAIN of PARM_DECLs.
(lto_input_ts_decl_non_common_tree_pointes): Instead read
the DECL_ARGUMENTS as chain.

From-SVN: r192529

11 years agoiq2000.h (call_used_regs): Remove definition.
Steven Bosscher [Wed, 17 Oct 2012 09:51:02 +0000 (09:51 +0000)]
iq2000.h (call_used_regs): Remove definition.

* config/iq2000/iq2000.h (call_used_regs): Remove definition.

From-SVN: r192528

11 years agoAdd missing entry.
Eric Botcazou [Wed, 17 Oct 2012 07:03:35 +0000 (07:03 +0000)]
Add missing entry.

From-SVN: r192527

11 years agodf-problems.c (df_kill_notes): Split up in two functions.
Steven Bosscher [Wed, 17 Oct 2012 06:15:38 +0000 (06:15 +0000)]
df-problems.c (df_kill_notes): Split up in two functions.

* df-problems.c (df_kill_notes): Split up in two functions.
(df_remove_dead_and_unused_notes): New function, first half of
df_kill notes to remove all REG_DEAD and REG_UNUSED notes.
(df_remove_dead_eq_notes): New function, second half of df_kill_notes
to remove REG_EQUAL and REG_EQUIV notes referring to dead registers.
(df_note_bb_compute): Call df_remove_dead_and_unused_notes instead
of df_kill_notes.  Call df_remove_dead_eq_notes after processing insn.

* web.c (web): Re-add DF_RD_PRUNE_DEAD_DEFS;

From-SVN: r192526

11 years agoextend.texi (Return Address): Change __builtin_extract_return_address to __builtin_ex...
Ian Lance Taylor [Wed, 17 Oct 2012 05:18:02 +0000 (05:18 +0000)]
extend.texi (Return Address): Change __builtin_extract_return_address to __builtin_extract_return_addr.

* doc/extend.texi (Return Address): Change
__builtin_extract_return_address to
__builtin_extract_return_addr.

From-SVN: r192525

11 years agoDaily bump.
GCC Administrator [Wed, 17 Oct 2012 00:17:59 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r192522

11 years agoRemove debug code accidentially checked in with last commit.
Joern Rennecke [Tue, 16 Oct 2012 23:38:24 +0000 (00:38 +0100)]
Remove debug code accidentially checked in with last commit.

From-SVN: r192519