* tree-ssa-threadedge.c (record_temporary_equivalence): Handle
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 22 Nov 2013 18:52:23 +0000 (18:52 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 22 Nov 2013 18:52:23 +0000 (18:52 +0000)
commitc294418dda2e40e2dd89b47ca82223299888e4c5
tree730948c2473885606c6944bb48f26a75b3b88427
parent6406c3555bffdef3ccd6f95ffb37dde849d12b48
* tree-ssa-threadedge.c (record_temporary_equivalence): Handle
NULL for RHS, which we used to invalidate equivalences.
(record_temporary_equivalences_from_phis): New bitmap arguments
and a boolean indicating if we have passed a backedge.  If we
have passed a backedge, then set the appropriate bit in the
bitmaps for the SRC & DEST of PHIs creating equivalences.
(invalidate_equivalences, dummy_simplify): New functions.
(cond_arg_set_in_b): Remove.
(record_temporary_equivalences_from_stmts_at_dest): New bitmap
arguments and a boolean indicating if we have passed a backedge.
If we have passed a backedge, then perform invalidations as
needed.
(thread_around_empty_blocks): If we have seen a backedge, then
use the dummy simplify routine.
(thread_through_normal_block): Likewise.  Pass bitmaps and
backedge status to children.  Do not pessimize so much when
traversing backedges in the CFG.
(thread_across_edge): Manage the SRC_MAP/DST_MAP bitmaps.
If we have seen a backedge, then use the dummy simplify routine.
Do not pessimize so much when traversing backedges.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205279 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/tree-ssa-threadedge.c