]> git.ipfire.org Git - thirdparty/gcc.git/commit
tree-ssa-threadedge.c (record_temporary_equivalence): Handle NULL for RHS, which...
authorJeff Law <law@redhat.com>
Fri, 22 Nov 2013 18:52:23 +0000 (11:52 -0700)
committerJeff Law <law@gcc.gnu.org>
Fri, 22 Nov 2013 18:52:23 +0000 (11:52 -0700)
commitd4fdb4dfd1cf2a563f4caa4effc35bd896aaf8bd
tree730948c2473885606c6944bb48f26a75b3b88427
parent7d20ca6146e4ee527f9c48fb96d0ca83d3fb68c3
tree-ssa-threadedge.c (record_temporary_equivalence): Handle NULL for RHS, which we used to invalidate equivalences.

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

From-SVN: r205279
gcc/ChangeLog
gcc/tree-ssa-threadedge.c