This is an archive of the discontinued LLVM Phabricator instance.

[LoopSimplify] Add opt-bisect support to LoopSimplify pass
AbandonedPublic

Authored by craig.topper on Jun 7 2017, 11:17 AM.

Details

Summary

This patch adds the skipFunction call so that LoopSimplify will partcipate.

Diff Detail

Event Timeline

craig.topper created this revision.Jun 7 2017, 11:17 AM
andrew.w.kaylor accepted this revision.Jun 7 2017, 12:10 PM

It looks like a number of passes have this as a required analysis pass, and some assert that loops are in the simplified form. Can you verify that all passes which depend on this pass can also be skipped by opt-bisect?

This revision is now accepted and ready to land.Jun 7 2017, 12:10 PM
andrew.w.kaylor requested changes to this revision.Jun 7 2017, 12:10 PM

Oops. I didn't mean to accept the revision yet.

This revision now requires changes to proceed.Jun 7 2017, 12:10 PM
craig.topper edited the summary of this revision. (Show Details)Jun 7 2017, 12:24 PM
chandlerc edited edge metadata.Jun 7 2017, 2:55 PM

What Andrew said.

The legacy pass manager does actually use this in pass-form by using implicit "requires" from the analysis stuff. And they'll crash if it isn't in simplified form.

We could add opt-bisect support to the pass, but it would need to be controlled very differently for cases where it isn't a fundamental requirement.

craig.topper abandoned this revision.Jun 7 2017, 4:03 PM