This is an archive of the discontinued LLVM Phabricator instance.

[SCEV] Look at backedge dominating conditions.
ClosedPublic

Authored by sanjoy on Mar 26 2015, 1:20 AM.

Details

Summary

This change teaches ScalarEvolution::isLoopBackedgeGuardedByCond to look
at edges within the loop body that dominate the latch. We don't do an
exhaustive search for all possible edges, but only a quick walk up the
dom tree.

Diff Detail

Repository
rL LLVM

Event Timeline

sanjoy updated this revision to Diff 22700.Mar 26 2015, 1:20 AM
sanjoy retitled this revision from to [SCEV] Look at backedge dominating conditions..
sanjoy updated this object.
sanjoy edited the test plan for this revision. (Show Details)
sanjoy added reviewers: atrick, hfinkel.
sanjoy added a subscriber: Unknown Object (MLST).

Update: the return true; in this change (line 6725) is executed a total of 1964 times when bootstrapping clang with -O3.

atrick accepted this revision.Mar 27 2015, 3:35 PM
atrick edited edge metadata.

LGTM.

This revision is now accepted and ready to land.Mar 27 2015, 3:35 PM
This revision was automatically updated to reflect the committed changes.