This is an archive of the discontinued LLVM Phabricator instance.

IndVarSimplify: Allow LFTR to fire more often
ClosedPublic

Authored by majnemer on Nov 11 2014, 3:31 PM.

Details

Summary

I added a pessimization in r217102 to prevent miscompiles when the
incremented induction variable was used in a comparison; it would be
poison.

Try to use the incremented induction variable more often when we can be
sure that the increment won't end in poison.

Diff Detail

Repository
rL LLVM

Event Timeline

majnemer updated this revision to Diff 16066.Nov 11 2014, 3:31 PM
majnemer retitled this revision from to IndVarSimplify: Allow LFTR to fire more often.
majnemer updated this object.
majnemer added reviewers: nicholas, nlewycky, atrick.
majnemer added a subscriber: Unknown Object (MLST).
atrick accepted this revision.Nov 17 2014, 10:39 AM
atrick edited edge metadata.

LGTM.

A short comment might help the reader. Something like “Check if InitIV + BECount+1 requires sign/zero extension. If not, clear the corresponding flag from WrappingFlags because it is not necessary for those flags in the IncrementedIndvarSCEV expression.”

This revision is now accepted and ready to land.Nov 17 2014, 10:39 AM
majnemer closed this revision.Nov 17 2014, 6:21 PM
majnemer updated this revision to Diff 16314.

Closed by commit rL222213 (authored by @majnemer).