Commit Graph

119676 Commits

Author SHA1 Message Date
Terry Guo 0b7463235f 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
2012-10-23 03:49:17 +00:00
Hans-Peter Nilsson e4878d25f3 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
2012-10-23 01:05:25 +00:00
GCC Administrator 78445bd87f Daily bump.
From-SVN: r192700
2012-10-23 00:17:45 +00:00
Bill Schmidt 69e1a1a34f 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
2012-10-22 22:09:22 +00:00
François Dumont 637fd8b3be 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
2012-10-22 19:53:38 +00:00
Uros Bizjak 9eda026ca0 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
2012-10-22 21:39:14 +02:00
Sharad Singhai 74911c3cff 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
2012-10-22 18:50:19 +00:00
Richard Biener 4caaa4621a 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
2012-10-22 14:10:06 +00:00
Uros Bizjak f5798785de 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
2012-10-22 15:59:33 +02:00
Richard Biener 43b1bad65d 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
2012-10-22 13:26:48 +00:00
Julian Brown e81bf2ce3b 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
2012-10-22 11:32:37 +00:00
Georg-Johann Lay 09246494b3 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
2012-10-22 11:13:54 +00:00
Eric Botcazou a0e917106a * gcc-interface/Makefile.in: Remove reference to non-existing file.
From-SVN: r192682
2012-10-22 10:05:45 +00:00
Greta Yorsh 938d7822fe 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
2012-10-22 10:58:32 +01:00
Sameera Deshpande 59daea42f6 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
2012-10-22 10:54:31 +01:00
Sameera Deshpande 922d9f679d 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
2012-10-22 10:50:47 +01:00
Sameera Deshpande 56289ed2fb 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
2012-10-22 10:46:25 +01:00
Hans-Peter Nilsson a271e61c6b 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
2012-10-22 09:25:02 +00:00
Hans-Peter Nilsson 8df7772284 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
2012-10-22 09:22:11 +00:00
Eric Botcazou f24f688ff3 * gcc-interface/Makefile.in: Remove outdated comment.
From-SVN: r192675
2012-10-22 09:21:38 +00:00
Eric Botcazou 1a19a3e4e9 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
2012-10-22 08:59:10 +00:00
Eric Botcazou f58e663b1e 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
2012-10-22 08:50:00 +00:00
Eric Botcazou 25eb3455ae 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
2012-10-22 08:42:34 +00:00
Eric Botcazou 00a22e5e4b 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
2012-10-22 08:19:58 +00:00
Eric Botcazou cd177257a5 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
2012-10-22 08:04:48 +00:00
Eric Botcazou 0b21f5d363 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
2012-10-22 07:27:21 +00:00
GCC Administrator 562649ada4 Daily bump.
From-SVN: r192664
2012-10-22 00:18:01 +00:00
Yufeng Zhang e3b0260052 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
2012-10-22 00:42:17 +01:00
Uros Bizjak cab54dfa3a 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
2012-10-22 00:12:46 +02:00
Eric Botcazou 84cac7eff7 atomic1.ads: XFAIL on MIPS.
* gnat.dg/specs/atomic1.ads: XFAIL on MIPS.
	* gnat.dg/specs/addr1.ads: Likewise.

From-SVN: r192658
2012-10-21 20:29:17 +00:00
François Dumont 0a011b17ee 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
2012-10-21 19:06:47 +00:00
Joern Rennecke dff1289d12 * rtl.def (ADDR_DIFF_VEC): Fix comment typo.
From-SVN: r192654
2012-10-21 15:15:29 +01:00
Hans-Peter Nilsson 286177b236 * gcc.dg/webizer.c (main): Add missing exit call.
From-SVN: r192652
2012-10-21 13:00:03 +00:00
Eric Botcazou a3a720d0d7 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
2012-10-21 12:36:16 +00:00
Tobias Burnus ce86ad58a4 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
2012-10-21 12:51:26 +02:00
Thomas Koenig 72ac1c070c 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
2012-10-21 10:32:02 +00:00
Chung-Lin Tang 699ae4b585 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
2012-10-21 06:08:23 +00:00
Hans-Peter Nilsson 836e938574 45713.cc: Skip for mmix-*-*.
* testsuite/23_containers/bitset/45713.cc: Skip for mmix-*-*.
	Tweak sizetype-related comment.

From-SVN: r192647
2012-10-21 04:52:54 +00:00
Hans-Peter Nilsson 8a740f0731 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
2012-10-21 03:16:47 +00:00
GCC Administrator ada750d42e Daily bump.
From-SVN: r192644
2012-10-21 00:17:53 +00:00
Eric Botcazou 929634d86b 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
2012-10-20 21:00:23 +00:00
Jan Hubicka e598c332d8 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
2012-10-20 15:51:16 +00:00
Jan Hubicka bcd8d322db 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
2012-10-20 14:19:12 +00:00
Manuel López-Ibáñez 4a0ae68e1c 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
2012-10-20 14:17:08 +00:00
Joern Rennecke f6df08e637 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
2012-10-20 14:46:07 +01:00
Joern Rennecke 8e38384964 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
2012-10-20 12:37:27 +01:00
Jan Hubicka 4d84e22c4b 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
2012-10-20 10:12:36 +00:00
Jonathan Wakely ae40b500d2 * include/std/scoped_allocator: Avoid badname.
From-SVN: r192629
2012-10-20 03:08:37 +01:00
GCC Administrator 8ddc008379 Daily bump.
From-SVN: r192628
2012-10-20 00:18:42 +00:00
Michael Meissner ad1a0853e6 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
2012-10-19 19:10:03 +00:00