This is an archive of the discontinued LLVM Phabricator instance.

[PM] Port IndVarSimplify to the new pass manager
ClosedPublic

Authored by sanjoy on May 29 2016, 3:17 PM.

Details

Summary

There are some rough corners, since the new pass manager doesn't have
(as far as I can tell) LoopSimplify and LCSSA, so I've updated the
tests to run them separately in the old pass manager in the lit tests.

Diff Detail

Event Timeline

sanjoy updated this revision to Diff 58921.May 29 2016, 3:17 PM
sanjoy retitled this revision from to [PM] Port IndVarSimplify to the new pass manager.
sanjoy updated this object.
sanjoy added reviewers: bogner, chandlerc, davide.
sanjoy added a subscriber: llvm-commits.
davide edited edge metadata.May 31 2016, 10:58 AM

The general structure looks fine to me. I left a comment for something that we should take care of (but we can't yet).
Would love to get a second opinion on it.

Thanks!

lib/Transforms/Scalar/IndVarSimplify.cpp
2238

The old PM 'preserves the CFG'. We can't do that yet in the new PM. Can you please add a FIXME here so we won't forget?

chandlerc accepted this revision.Jun 4 2016, 11:56 PM
chandlerc edited edge metadata.

LGTM

lib/Transforms/Scalar/IndVarSimplify.cpp
2238

Yea, good to add a FIXME.

This revision is now accepted and ready to land.Jun 4 2016, 11:56 PM
This revision was automatically updated to reflect the committed changes.