2013-11-13  Teresa Johnson  <tejohnson@google.com>

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


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204755 138bc75d-0d04-0410-961f-82ee72b054a4
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.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204756 138bc75d-0d04-0410-961f-82ee72b054a4
	PR sanitizer/59009
	* sanitizer_common/sanitizer_platform_limits_posix.cc: Temporarily
	ifdef out more source.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204757 138bc75d-0d04-0410-961f-82ee72b054a4

	* 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.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204758 138bc75d-0d04-0410-961f-82ee72b054a4
typo fix


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204759 138bc75d-0d04-0410-961f-82ee72b054a4
	* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204760 138bc75d-0d04-0410-961f-82ee72b054a4
* gimple-ssa-isolate-paths.c (pass_isolate_erroneous_paths): Comment fix.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204762 138bc75d-0d04-0410-961f-82ee72b054a4

	* 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.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204763 138bc75d-0d04-0410-961f-82ee72b054a4
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204764 138bc75d-0d04-0410-961f-82ee72b054a4
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204765 138bc75d-0d04-0410-961f-82ee72b054a4
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204766 138bc75d-0d04-0410-961f-82ee72b054a4
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204767 138bc75d-0d04-0410-961f-82ee72b054a4
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204770 138bc75d-0d04-0410-961f-82ee72b054a4