Commit Graph

126553 Commits

Author SHA1 Message Date
Ulrich Weigand
140f2c812c rs6000.c (rs6000_arg_partial_bytes): Simplify logic by making use of the fact that for vector / floating point...
2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* config/rs6000/rs6000.c (rs6000_arg_partial_bytes): Simplify logic
	by making use of the fact that for vector / floating point arguments
	passed both in VRs/FPRs and in the fixed parameter area, the partial
	bytes mechanism is in fact not used.

From-SVN: r204807
2013-11-14 18:40:12 +00:00
Ulrich Weigand
98eefff6bc rs6000.c (rs6000_psave_function_arg): New function.
2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* config/rs6000/rs6000.c (rs6000_psave_function_arg): New function.
	(rs6000_finish_function_arg): Likewise.
	(rs6000_function_arg): Use rs6000_psave_function_arg and
	rs6000_finish_function_arg to handle both vector and floating
	point arguments that are also passed in GPRs / the stack.

From-SVN: r204806
2013-11-14 18:39:14 +00:00
Ulrich Weigand
abc991e700 rs6000.c (USE_FP_FOR_ARG_P): Remove TYPE argument.
2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* config/rs6000/rs6000.c (USE_FP_FOR_ARG_P): Remove TYPE argument.
	(USE_ALTIVEC_FOR_ARG_P): Likewise.
	(rs6000_darwin64_record_arg_advance_recurse): Update uses.
	(rs6000_function_arg_advance_1):Likewise.
	(rs6000_darwin64_record_arg_recurse): Likewise.
	(rs6000_function_arg): Likewise.
	(rs6000_arg_partial_bytes): Likewise.

From-SVN: r204805
2013-11-14 18:38:08 +00:00
Ulrich Weigand
008e32c018 rs6000.c (rs6000_option_override_internal): Replace "DEFAULT_ABI != ABI_AIX" test by testing for ABI_V4 or ABI_DARWIN.
2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* config/rs6000/rs6000.c (rs6000_option_override_internal): Replace
	"DEFAULT_ABI != ABI_AIX" test by testing for ABI_V4 or ABI_DARWIN.
	(rs6000_savres_strategy): Likewise.
	(rs6000_return_addr): Likewise.
	(rs6000_emit_load_toc_table): Replace "DEFAULT_ABI != ABI_AIX" by
	testing for ABI_V4 (since ABI_DARWIN is impossible here).
	(rs6000_emit_prologue): Likewise.
	(legitimate_lo_sum_address_p): Simplify DEFAULT_ABI test.
	(rs6000_elf_declare_function_name): Remove duplicated test.
	* config/rs6000/rs6000.md ("load_toc_v4_PIC_1"): Explicitly test
	for ABI_V4 (instead of "DEFAULT_ABI != ABI_AIX" test).
	("load_toc_v4_PIC_1_normal"): Likewise.
	("load_toc_v4_PIC_1_476"): Likewise.
	("load_toc_v4_PIC_1b"): Likewise.
	("load_toc_v4_PIC_1b_normal"): Likewise.
	("load_toc_v4_PIC_1b_476"): Likewise.
	("load_toc_v4_PIC_2"): Likewise.
	("load_toc_v4_PIC_3b"): Likewise.
	("load_toc_v4_PIC_3c"): Likewise.
	* config/rs6000/rs6000.h (RS6000_REG_SAVE): Simplify DEFAULT_ABI test.
	(RS6000_SAVE_AREA): Likewise.
	(FP_ARG_MAX_REG): Likewise.
	(RETURN_ADDRESS_OFFSET): Likewise.
	* config/rs6000/sysv.h (TARGET_TOC): Test for ABI_V4 instead
	of ABI_AIX.
	(SUBTARGET_OVERRIDE_OPTIONS): Likewise.
	(MINIMAL_TOC_SECTION_ASM_OP): Likewise.

From-SVN: r204804
2013-11-14 18:36:48 +00:00
Ulrich Weigand
f90f960ca8 rs6000.c (rs6000_call_indirect_aix): Rename to ...
2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* config/rs6000/rs6000.c (rs6000_call_indirect_aix): Rename to ...
	(rs6000_call_aix): ... this.  Handle both direct and indirect calls.
	Create call insn directly instead of via various gen_... routines.
	Mention special registers used by the call in CALL_INSN_FUNCTION_USAGE.
	(rs6000_sibcall_aix): New function.
	* config/rs6000/rs6000.md (TOC_SAVE_OFFSET_32BIT): Remove.
	(TOC_SAVE_OFFSET_64BIT): Likewise.
	(AIX_FUNC_DESC_TOC_32BIT): Likewise.
	(AIX_FUNC_DESC_TOC_64BIT): Likewise.
	(AIX_FUNC_DESC_SC_32BIT): Likewise.
	(AIX_FUNC_DESC_SC_64BIT): Likewise.
	("call" expander): Call rs6000_call_aix.
	("call_value" expander): Likewise.
	("call_indirect_aix<ptrsize>"): Replace this pattern ...
	("call_indirect_aix<ptrsize>_nor11"): ... and this pattern ...
	("*call_indirect_aix<mode>"): ... by this insn pattern.
	("call_value_indirect_aix<ptrsize>"): Replace this pattern ...
	("call_value_indirect_aix<ptrsize>_nor11"): ... and this pattern ...
	("*call_value_indirect_aix<mode>"): ... by this insn pattern.
	("*call_nonlocal_aix32", "*call_nonlocal_aix64"): Replace by ...
	("*call_nonlocal_aix<mode>"): ... this pattern.
	("*call_value_nonlocal_aix32", "*call_value_nonlocal_aix64"): Replace
	("*call_value_nonlocal_aix<mode>"): ... by this pattern.
	("*call_local_aix<mode>"): New insn pattern.
	("*call_value_local_aix<mode>"): Likewise.
	("sibcall" expander): Call rs6000_sibcall_aix.
	("sibcall_value" expander): Likewise.  Move earlier in file.
	("*sibcall_nonlocal_aix<mode>"): Replace by ...
	("*sibcall_aix<mode>"): ... this pattern.
	("*sibcall_value_nonlocal_aix<mode>"): Replace by ...
	("*sibcall_value_aix<mode>"): ... this pattern.
	* config/rs6000/rs6000-protos.h (rs6000_call_indirect_aix): Remove.
	(rs6000_call_aix): Add prototype.
	(rs6000_sibcall_aix): Likewise.

From-SVN: r204803
2013-11-14 18:32:48 +00:00
Ulrich Weigand
4f883df12f Forgot to add file in last commit.
From-SVN: r204802
2013-11-14 18:30:19 +00:00
Jakub Jelinek
8c8b21e4f7 re PR sanitizer/59122 (libsanitizer merge from upstream r191666 causes duplicate symbol errors)
PR sanitizer/59122
	* asan.c (asan_emit_stack_protection): Ensure -fsection-anchors
	isn't confused by the artificial decl.

From-SVN: r204801
2013-11-14 19:28:43 +01:00
Ulrich Weigand
13e0981af5 linux-unwind.h (ppc_fallback_frame_state): Correct location of CR save area for 64-bit little-endian systems.
2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
	    Alan Modra  <amodra@gmail.com>

	* config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Correct
	location of CR save area for 64-bit little-endian systems.


Co-Authored-By: Alan Modra <amodra@gmail.com>

From-SVN: r204800
2013-11-14 18:25:33 +00:00
Ulrich Weigand
dc2faee140 rs6000.c (rs6000_emit_prologue): Do not place a RTX_FRAME_RELATED_P marker on the UNSPEC_MOVESI_FROM_CR insn.
ChangeLog:

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* config/rs6000/rs6000.c (rs6000_emit_prologue): Do not place a
	RTX_FRAME_RELATED_P marker on the UNSPEC_MOVESI_FROM_CR insn.
	Instead, add USEs of all modified call-saved CR fields to the
	insn storing the result to the stack slot, and provide an
	appropriate REG_FRAME_RELATED_EXPR for that insn.
	* config/rs6000/rs6000.md ("*crsave"): New insn pattern.
	* config/rs6000/predicates.md ("crsave_operation"): New predicate.

testsuite/ChangeLog:

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* g++.dg/eh/ppc64-sighandle-cr.C: New test.

From-SVN: r204799
2013-11-14 18:24:32 +00:00
Ulrich Weigand
2e4ceca56c function.c (assign_parms): Use all.reg_parm_stack_space instead of re-evaluating REG_PARM_STACK_SPACE...
2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
	    Alan Modra  <amodra@gmail.com>

	* function.c (assign_parms): Use all.reg_parm_stack_space instead
	of re-evaluating REG_PARM_STACK_SPACE target macro.
	(locate_and_pad_parm): New parameter REG_PARM_STACK_SPACE.  Use it
	instead of evaluating target macro REG_PARM_STACK_SPACE every time.
	(assign_parm_find_entry_rtl): Update call.
	* calls.c (initialize_argument_information): Update call.
	(emit_library_call_value_1): Likewise.
	* expr.h (locate_and_pad_parm): Update prototype.

Co-Authored-By: Alan Modra <amodra@gmail.com>

From-SVN: r204798
2013-11-14 18:22:30 +00:00
Ulrich Weigand
a79730506d calls.c (store_unaligned_arguments_into_pseudos): Skip PARALLEL arguments.
2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* calls.c (store_unaligned_arguments_into_pseudos): Skip PARALLEL
	arguments.

From-SVN: r204797
2013-11-14 18:21:21 +00:00
Ian Lance Taylor
eb50be04e9 go/build: Add all known gccgo architectures to list.
From-SVN: r204796
2013-11-14 18:16:59 +00:00
DJ Delorie
eb1c879cfd rx.c (rx_mode_dependent_address_p): Allow offsets up to 16 bits.
* config/rx/rx.c (rx_mode_dependent_address_p): Allow offsets up
to 16 bits.

From-SVN: r204795
2013-11-14 13:10:36 -05:00
Ian Lance Taylor
9572918137 libgo/go/go/build: use syslist.go from the gc stdlib.
If cmd/go is rebuilt using -compiler gccgo the version of go/build that is linked into that cmd/go will not function properly as the list of file suffixes know as operating systems or architectures is incorrect.

From-SVN: r204794
2013-11-14 18:07:31 +00:00
Jeff Law
6eeef4cc67 tree-ssa-threadedge.c (thread_through_normal_block): Only push the EDGE_START_JUMP_THREAD marker if the jump threading path is empty.
* tree-ssa-threadedge.c (thread_through_normal_block): Only push
	the EDGE_START_JUMP_THREAD marker if the jump threading path is
	empty.

From-SVN: r204793
2013-11-14 11:05:55 -07:00
Rainer Orth
d39ebff1de Require fenv_exceptions in gcc.dg/torture/float128* tests
* gcc.dg/torture/float128-cmp-invalid.c: Require fenv_exceptions.
	* gcc.dg/torture/float128-div-underflow.c: Likewise.
	* gcc.dg/torture/float128-extend-nan.c: Likewise.

From-SVN: r204792
2013-11-14 14:29:12 +00:00
Richard Biener
a4e84cb9a7 ssa-vrp-thread-1.c: Fix target selector.
2013-11-14  Richard Biener  <rguenther@suse.de>

	* gcc.dg/tree-ssa/ssa-vrp-thread-1.c: Fix target selector.

From-SVN: r204791
2013-11-14 14:16:06 +00:00
Jonathan Wakely
8ed13e2757 alloc_traits.h (__allow_copy_cons): Remove.
* include/bits/alloc_traits.h (__allow_copy_cons): Remove.
	(__check_copy_constructible): Likewise.
	* include/bits/unordered_map.h (unordered_map, unordered_multimap):
	Do not derive from __check_copy_constructible.
	* include/bits/unordered_set.h (unordered_set, unordered_multiset):
	Likewise.
	* testsuite/23_containers/unordered_map/55043.cc: It is no longer
	necessary for is_copy_constructible to be correct to use nested
	unordered containers.
	* testsuite/23_containers/unordered_multimap/55043.cc: Likewise.
	* testsuite/23_containers/unordered_set/55043.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/55043.cc: Likewise.

From-SVN: r204790
2013-11-14 12:43:00 +00:00
H.J. Lu
e4603a754f XFAIL addr1.ads and atomic1.ads on x32
* gnat.dg/specs/addr1.ads: XFAIL on x32.
	* gnat.dg/specs/atomic1.ads: Likewise.

From-SVN: r204789
2013-11-14 04:40:15 -08:00
Christophe Lyon
c787a32f87 Fix typo in ChangeLog entry.
From-SVN: r204787
2013-11-14 11:25:31 +01:00
James Greenhalgh
629f660bc3 [AArch64] [-mtune cleanup 5/5] Update invoke.texi
gcc/
	* doc/invoke.texi: Update documentation for AArch64's -mcpu
	and -mtune options.

From-SVN: r204785
2013-11-14 10:02:10 +00:00
James Greenhalgh
99d85f91de [AArch64] [-mtune cleanup 4/5] Remove "example-1", "example-2" tuning options.
gcc/
	* config/aarch64/aarch64-cores.def (example-1): Remove.
	(example-2): Likewise.
	* config/aarch64/aarch64-tune.md: Regenerate.
	* config/aarch64/aarch64.md: Do not include "large.md" or "small.md".
	(generic_sched): Remove "large", "small".
	* config/aarch64/large.md: Delete.
	* config/aarch64/small.md: Delete.

gcc/testsuite/
	* gcc.target/aarch64/cpu-diagnostics-2.c: Change "-mcpu="
	to "cortex-a53".
	* gcc.target/aarch64/cpu-diagnostics-3.c: Change "-mcpu="
	to "cortex-a53".

From-SVN: r204784
2013-11-14 10:00:49 +00:00
James Greenhalgh
1763249f27 [AArch64] [-mtune cleanup 3/5] [Temporary] When asked to tune for
Cortex-A57, tune for Cortex-A15

gcc/
	* config/aarch64/aarch64-cores.def (cortex-a57): Tune for cortexa15.
	* config/aarch64/aarch64-tune.md: Regenerate.
	* config/aarch64/aarch64.md: Include cortex-a15 pipeline model.
	(generic_sched): "no" if we are	tuning for cortexa15.
	* config/arm/cortex-a15.md: Include cortex-a15-neon.md by
	relative path.

From-SVN: r204783
2013-11-14 09:58:37 +00:00
James Greenhalgh
02fdbd5beb [AArch64] [-mtune cleanup 2/5] Tune for Cortex-A53 by default.
gcc/
	* config/aarch64/aarch64-arches.def (armv8-a): Tune for cortex-a53.
	* config/aarch64/aarch64.md: Do not include aarch64-generic.md.
	* config/aarch64/aarch64.c (aarch64_tune): Initialize to cortexa53.
	(all_cores): Use cortexa53 when tuning for "generic".
	(aarch64_override_options): Fix comment.
	* config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Set to cortexa53.
	* config/aarch64/aarch64-generic.md: Delete.

From-SVN: r204782
2013-11-14 09:56:30 +00:00
James Greenhalgh
00ed7ad477 [AArch64] [-mtune cleanup 1/5] Remove -march=generic.
gcc/
	* config/aarch64/aarch64.c (all_architectures): Remove "generic".

From-SVN: r204781
2013-11-14 09:52:34 +00:00
Rainer Orth
575897ccc3 Fix gcc.dg/atomic/c11-atomic-exec-[45].c tests on Solaris 10+
* gcc.dg/atomic/c11-atomic-exec-4.c: Define _XOPEN_SOURCE=600 on
	*-*-solaris2.1[0-9]*.
	* gcc.dg/atomic/c11-atomic-exec-5.c: Likewise.

From-SVN: r204780
2013-11-14 09:34:16 +00:00
Kyrylo Tkachov
73250c4c05 aarch64.c: Include aarch-cost-tables.h.
* config/aarch64/aarch64.c: Include aarch-cost-tables.h.
	(generic_rtx_cost_table): Remove.
	(aarch64_rtx_costs): Use fields from cpu_cost_table.
	* config/aarch64/aarch64-protos.h (tune_params): Use cpu_cost_table for
	insn_extra_cost.
	(cpu_rtx_cost_table): Remove.

From-SVN: r204779
2013-11-14 09:22:51 +00:00
Joey Ye
571880a0a4 [multiple changes]
2013-11-14  Julian Brown  <julian@codesourcery.com>
        Joey Ye  <joey.ye@arm.com>

        * config/arm/arm.c (arm_cortex_m_branch_cost): New.
        (arm_v7m_tune): New.
        (arm_slowmul_tune, arm_fastmul_tune,
        arm_strongarm_tune, arm_9e_tune, arm_v6t2_tune,
        arm_cortex_tune, arm_cortex_a15_tune,
        arm_cortex_a5_tune, arm_v6m_tune): Add comments
        for Sched adj cost.
        * config/arm/arm-cores.def (cortex-m4, cortex-m3):
        Use arm_v7m_tune.

testsuite:
2013-11-14  Joey Ye  <joey.ye@arm.com>

        * gcc.dg/tree-ssa/forwprop-28.c: Disable for cortex_m.
        * gcc.dg/tree-ssa/vrp47.c: Likewise.
        * gcc.dg/tree-ssa/vrp87.c: Likewise.
        * gcc.dg/tree-ssa/ssa-dom-thread-4.c: Ingore for cortex_m.
        * gcc.dg/tree-ssa/ssa-vrp-thread-1.c: Likewise.

From-SVN: r204778
2013-11-14 08:38:54 +00:00
Kirill Yukhin
2430d1e263 re PR target/57491 ([ia64] internal compiler error: in ia64_split_tmode -O2, quadmath)
PR target/57491
        * config/ia64/ia64.c (ia64_split_tmode_move): Relax `dead'
        flag setting.

From-SVN: r204777
2013-11-14 08:33:21 +00:00
Adam Butcher
d43d39ab6d Added testcase for 58533, fixed by rev 204714.
gcc/testsuite/
	PR c++/58533
	* g++.dg/cpp1y/pr58533.C: New testcase (fixed by r204714).

From-SVN: r204776
2013-11-14 08:26:21 +00:00
Jakub Jelinek
a39ed7e957 re PR target/59101 (integer wrong code bug)
PR target/59101
	* config/i386/i386.md (*anddi_2): Only allow CCZmode if
	operands[2] satisfies_constraint_Z that might have bit 31 set.

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

Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>

From-SVN: r204774
2013-11-14 09:11:36 +01:00
Jeff Law
46dfed6556 re PR tree-optimization/59102 (ICE on valid code at -Os and above on x86_64-linux-gnu)
PR tree-optimization/59102
	* gimple-ssa-isolate-paths.c
	(insert_trap_and_remove_trailing_statments): Ensure STMT is a
	gimple assignment before looking at gimple_assign_lhs.

	PR tree-optimization/59102
	* gcc.c-torture/compile/pr59102.c: New test.

From-SVN: r204773
2013-11-13 20:18:17 -07:00
Vladimir Makarov
41808d153a ira.c: Add comment about threads at the top of file.
2013-11-13  Vladimir Makarov  <vmakarov@redhat.com>

	* ira.c: Add comment about threads at the top of file.

From-SVN: r204772
2013-11-14 01:51:07 +00:00
Vladimir Makarov
fffb16d263 ira-color.c (coalesce_allocnos): Don't allocate and free sorted_copies.
2013-11-13  Vladimir Makarov  <vmakarov@redhat.com>

	* ira-color.c (coalesce_allocnos): Don't allocate and free
	sorted_copies.

From-SVN: r204771
2013-11-14 01:33:09 +00:00
GCC Administrator
97514d9982 Daily bump.
From-SVN: r204770
2013-11-14 00:16:27 +00:00
Tom de Vries
b4e48861df Handle GIMPLE_ASSIGNs with different vuse in gimple_equal_p
2013-11-14  Tom de Vries  <tom@codesourcery.com>

	* tree-ssa-tail-merge.c (gimple_equal_p): Add test for structural
	equality for GIMPLE_ASSIGN.

	* gcc.dg/tail-merge-store.c: New test.

From-SVN: r204767
2013-11-14 00:10:42 +00:00
Tom de Vries
b6366520fa Factor out gimple_operand_equal_value_p from gimple_equal_p
2013-11-14  Tom de Vries  <tom@codesourcery.com>

	* tree-ssa-tail-merge.c (gimple_operand_equal_value_p): Factor new
	function out of ...
	(gimple_equal_p): ... here.

From-SVN: r204766
2013-11-14 00:10:33 +00:00
Tom de Vries
d5ae1c255d Add is_tm_ending
2013-11-14  Tom de Vries  <tom@codesourcery.com>

	* trans-mem.c (is_tm_ending): New function.
	* gimple.h (is_tm_ending): Declare.
	* tree-ssa-tail-merge.c (gimple_equal_p): Remove test on
	BUILT_IN_TM_COMMIT.
	(find_duplicate): Use is_tm_ending instead of is_tm_ending_fndecl.

From-SVN: r204765
2013-11-14 00:10:24 +00:00
Tom de Vries
2f1aee044c Simplify code in gimple_equal_p
2013-11-14  Tom de Vries  <tom@codesourcery.com>

	* tree-ssa-tail-merge.c (gimple_equal_p): Remove equal variable.

From-SVN: r204764
2013-11-14 00:10:13 +00:00
Andrew Macleod
5be5c23841 gimple-walk.h: New File.
* gimple-walk.h: New File.  Relocate prototypes from gimple.h.
	(struct walk_stmt_info):  Relocate here from gimple.h.
	* gimple-iterator.h: New File.  Relocate prototypes from gimple.h.
	(struct gimple_stmt_iterator_d): Relocate here from gimple.h.
	(gsi_start_1, gsi_none, gsi_start_bb, gsi_last_1, gsi_last_bb,
	gsi_end_p, gsi_one_before_end_p, gsi_next, gsi_prev, gsi_stmt,
	gsi_after_labels, gsi_next_nondebug, gsi_prev_nondebug,
	gsi_start_nondebug_bb, gsi_start_nondebug_after_labels_bb,
	gsi_last_nondebug_bb, gsi_bb, gsi_seq): Relocate here from gimple.h.
	* gimple.h (struct gimple_stmt_iterator_d): Move to gimple-iterator.h.
	(gsi_start_1, gsi_none, gsi_start_bb, gsi_last_1, gsi_last_bb,
	gsi_end_p, gsi_one_before_end_p, gsi_next, gsi_prev, gsi_stmt,
	gsi_after_labels, gsi_next_nondebug, gsi_prev_nondebug,
	gsi_start_nondebug_bb, gsi_start_nondebug_after_labels_bb,
	gsi_last_nondebug_bb, gsi_bb, gsi_seq): Move to gimple-iterator.h.
	(struct walk_stmt_info): Move to gimple-walk.h.
	(gimple_seq_set_location): Move to gimple.c
	* gimple-walk.c: New File.
	(walk_gimple_seq_mod, walk_gimple_seq, walk_gimple_asm, walk_gimple_op,
	walk_gimple_stmt, get_base_loadstore, walk_stmt_load_store_addr_ops,
	walk_stmt_load_store_ops): Relocate here from gimple.c.
	* gimple-iterator.c: Include gimple-iterator.h.
	* gimple.c (walk_gimple_seq_mod, walk_gimple_seq, walk_gimple_asm,
	walk_gimple_op, walk_gimple_stmt, get_base_loadstore,
	walk_stmt_load_store_addr_ops, walk_stmt_load_store_ops): Move to
	gimple-walk.c.
	(gimple_seq_set_location): Relocate from gimple.h.
	* tree-phinodes.h (set_phi_nodes): Move to tree-phinodes.c.
	* tree-phinodes.c (set_phi_nodes): Relocate from tree-phinodes.h.
	* gengtype.c (open_base_files): Add gimple-iterator.h to include list.
	* Makefile.in (OBJS): Add gimple-walk.o

	* asan.c: Update Include list as required for gimple-iterator.h and
	gimple-walk.h.
	* cfgexpand.c: Likewise.
	* cfgloop.c: Likewise.
	* cfgloopmanip.c: Likewise.
	* cgraph.c: Likewise.
	* cgraphbuild.c: Likewise.
	* cgraphunit.c: Likewise.
	* gimple-fold.c: Likewise.
	* gimple-low.c: Likewise.
	* gimple-pretty-print.c: Likewise.
	* gimple-ssa-isolate-paths.c: Likewise.
	* gimple-ssa-strength-reduction.c: Likewise.
	* gimple-streamer-in.c: Likewise.
	* gimple-streamer-out.c: Likewise.
	* gimplify.c: Likewise.
	* graphite-blocking.c: Likewise.
	* graphite-clast-to-gimple.c: Likewise.
	* graphite-dependences.c: Likewise.
	* graphite-interchange.c: Likewise.
	* graphite-optimize-isl.c: Likewise.
	* graphite-poly.c: Likewise.
	* graphite-scop-detection.c: Likewise.
	* graphite-sese-to-poly.c: Likewise.
	* graphite.c: Likewise.
	* ipa-inline-analysis.c: Likewise.
	* ipa-profile.c: Likewise.
	* ipa-prop.c: Likewise.
	* ipa-pure-const.c: Likewise.
	* ipa-split.c: Likewise.
	* lto-streamer-in.c: Likewise.
	* lto-streamer-out.c: Likewise.
	* omp-low.c: Likewise.
	* predict.c: Likewise.
	* profile.c: Likewise.
	* sese.c: Likewise.
	* tracer.c: Likewise.
	* trans-mem.c: Likewise.
	* tree-call-cdce.c: Likewise.
	* tree-cfg.c: Likewise.
	* tree-cfgcleanup.c: Likewise.
	* tree-complex.c: Likewise.
	* tree-data-ref.c: Likewise.
	* tree-dfa.c: Likewise.
	* tree-eh.c: Likewise.
	* tree-emutls.c: Likewise.
	* tree-if-conv.c: Likewise.
	* tree-inline.c: Likewise.
	* tree-into-ssa.c: Likewise.
	* tree-loop-distribution.c: Likewise.
	* tree-nested.c: Likewise.
	* tree-nrv.c: Likewise.
	* tree-object-size.c: Likewise.
	* tree-outof-ssa.c: Likewise.
	* tree-parloops.c: Likewise.
	* tree-predcom.c: Likewise.
	* tree-profile.c: Likewise.
	* tree-scalar-evolution.c: Likewise.
	* tree-sra.c: Likewise.
	* tree-ssa-ccp.c: Likewise.
	* tree-ssa-coalesce.c: Likewise.
	* tree-ssa-copy.c: Likewise.
	* tree-ssa-copyrename.c: Likewise.
	* tree-ssa-dce.c: Likewise.
	* tree-ssa-dom.c: Likewise.
	* tree-ssa-dse.c: Likewise.
	* tree-ssa-forwprop.c: Likewise.
	* tree-ssa-ifcombine.c: Likewise.
	* tree-ssa-live.c: Likewise.
	* tree-ssa-loop-ch.c: Likewise.
	* tree-ssa-loop-im.c: Likewise.
	* tree-ssa-loop-ivcanon.c: Likewise.
	* tree-ssa-loop-ivopts.c: Likewise.
	* tree-ssa-loop-manip.c: Likewise.
	* tree-ssa-loop-niter.c: Likewise.
	* tree-ssa-loop-prefetch.c: Likewise.
	* tree-ssa-loop.c: Likewise.
	* tree-ssa-math-opts.c: Likewise.
	* tree-ssa-phiopt.c: Likewise.
	* tree-ssa-phiprop.c: Likewise.
	* tree-ssa-pre.c: Likewise.
	* tree-ssa-propagate.c: Likewise.
	* tree-ssa-reassoc.c: Likewise.
	* tree-ssa-sink.c: Likewise.
	* tree-ssa-strlen.c: Likewise.
	* tree-ssa-structalias.c: Likewise.
	* tree-ssa-tail-merge.c: Likewise.
	* tree-ssa-ter.c: Likewise.
	* tree-ssa-threadedge.c: Likewise.
	* tree-ssa-threadupdate.c: Likewise.
	* tree-ssa-uncprop.c: Likewise.
	* tree-ssa-uninit.c: Likewise.
	* tree-ssa.c: Likewise.
	* tree-stdarg.c: Likewise.
	* tree-switch-conversion.c: Likewise.
	* tree-tailcall.c: Likewise.
	* tree-vect-data-refs.c: Likewise.
	* tree-vect-generic.c: Likewise.
	* tree-vect-loop-manip.c: Likewise.
	* tree-vect-loop.c: Likewise.
	* tree-vect-patterns.c: Likewise.
	* tree-vect-slp.c: Likewise.
	* tree-vect-stmts.c: Likewise.
	* tree-vectorizer.c: Likewise.
	* tree-vrp.c: Likewise.
	* tree.c: Likewise.
	* tsan.c: Likewise.
	* value-prof.c: Likewise.
	* vtable-verify.c: Likewise.

	* config/aarch64/aarch64-builtins.c: Include gimple-iterator.h.
	* config/rs6000/rs6000.c: Include gimple-iterator.h and gimple-walk.h.
	* testsuite/g++.dg/plugin/selfassign.c: Include gimple-iterator.h.
	* testsuite/gcc.dg/plugin/selfassign.c: Likewise.

From-SVN: r204763
2013-11-13 23:54:17 +00:00
Steven Bosscher
d35e43b970 gimple-ssa-isolate-paths.c (pass_isolate_erroneous_paths): Comment fix.
* gimple-ssa-isolate-paths.c (pass_isolate_erroneous_paths): Comment fix.

From-SVN: r204762
2013-11-13 23:23:18 +00:00
Jeff Law
56d338c931 re PR middle-end/59119 (Segfault in -fisolate-erroneous-paths pass)
* PR middle-end/59119
	* gimple-ssa-isolate-paths.c (find_implicit_erroneous_behaviour): New
	function, extracted from gimple_ssa_isolate_erroneous_paths.
	(find_explicit_erroneous_behaviour): Similarly.
	(insert_trap_and_remove_trailing_statements): Remove statements
	in reverse order.

	* PR middle-end/59119
	* gcc.c-torture/compile/pr59119.c: New test.

From-SVN: r204760
2013-11-13 16:10:34 -07:00
Steven Bosscher
98eaa66fa5 typo fix
From-SVN: r204759
2013-11-13 22:58:03 +00:00
Steven Bosscher
d7b6661b55 cfgrtl.c (can_fallthru): Reorder code to move tablejump check up.
* cfgrtl.c (can_fallthru): Reorder code to move tablejump check up.
	Make that check explicit.  BB_HEAD cannot be NULL, remove check for it.
	* haifa-sched.c (ready_remove_first_dispatch): Check INSN_P before
	looking at INSN_CODE.
	* reload1.c (delete_dead_insn) Do not expect JUMP_TABLE_DATA to be an
	active_insn_p object, respect basic block boundaries.
	* reorg.c (follow_jumps): Use invariant that JUMP_TABLE_DATA always
	follows immediately after the jump table data label.
	* config/nds32/nds32.c (nds32_output_casesi_pc_relative): Likewise.
	* config/sh/sh.c (barrier_align): Likewise.  Rearrange code such
	that JUMP_TABLE_DATA is not expected to be an active_insn_p object.

From-SVN: r204758
2013-11-13 22:55:49 +00:00
Peter Bergner
c3d77f3add re PR sanitizer/59009 (libsanitizer merge from upstream r191666 breaks bootstrap on powerpc64-linux and aarch64-linux)
PR sanitizer/59009
	* sanitizer_common/sanitizer_platform_limits_posix.cc: Temporarily
	ifdef out more source.

From-SVN: r204757
2013-11-13 16:34:33 -06:00
Teresa Johnson
4c7d077736 re PR ipa/58862 (LTO profiledbootstrap failure: lto1: ICE in edge_badness, at ipa-inline.c:1008)
2013-11-13  Teresa Johnson  <tejohnson@google.com>

	PR ipa/58862
	* predict.c (drop_profile): Error is currently too strict.
	(handle_missing_profiles): Pass call_count to drop_profile.

From-SVN: r204756
2013-11-13 21:51:44 +00:00
Teresa Johnson
51f5c118c5 re PR ipa/58862 (LTO profiledbootstrap failure: lto1: ICE in edge_badness, at ipa-inline.c:1008)
2013-11-13  Teresa Johnson  <tejohnson@google.com>

	PR ipa/58862
	* ipa-inline.c (edge_badness): Fix overflow.

From-SVN: r204755
2013-11-13 21:48:59 +00:00
Vladimir Makarov
bf08fb1644 re PR rtl-optimization/59036 (Performance degradation after r204212 on 32-bit x86 targets.)
2013-11-13  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/59036
	* ira-color.c (struct allocno_color_data): Add new members
	first_thread_allocno, next_thread_allocno, thread_freq.
	(sorted_copies): New static var.
	(allocnos_conflict_by_live_ranges_p, copy_freq_compare_func): Move
	up.
	(allocno_thread_conflict_p, merge_threads)
	(form_threads_from_copies, form_threads_from_bucket)
	(form_threads_from_colorable_allocno, init_allocno_threads): New
	functions.
	(bucket_allocno_compare_func): Add comparison by thread frequency
	and threads.
	(add_allocno_to_ordered_bucket): Rename to
	add_allocno_to_ordered_colorable_bucket.  Remove parameter.
        (push_only_colorable): Call form_threads_from_bucket.
	(color_pass): Call init_allocno_threads.  Use
	consideration_allocno_bitmap instead of coloring_allocno_bitmap
	for nuillify allocno color data.
	(ira_initiate_assign, ira_finish_assign): Allocate/free
	sorted_copies.
	(coalesce_allocnos): Use static sorted copies.

From-SVN: r204752
2013-11-13 18:00:43 +00:00
Jakub Jelinek
a9335ba244 passes.c (execute_todo): Don't call do_per_function if flags are zero.
* passes.c (execute_todo): Don't call do_per_function if
	flags are zero.
	(execute_one_ipa_transform_pass, execute_one_pass): Don't call
	execute_function_dump if dump_file is NULL.

From-SVN: r204751
2013-11-13 18:34:29 +01:00
Marc Glisse
b62c62f4b0 re PR libstdc++/59087 (Issues including complex.h in C++11/1y mode because of C's complex.h)
2013-11-13  Marc Glisse  <marc.glisse@inria.fr>

	PR libstdc++/59087
	* include/ext/pod_char_traits.h: Uglify V, I and S.

From-SVN: r204750
2013-11-13 15:47:04 +00:00