This is an archive of the discontinued LLVM Phabricator instance.

[SCEV] Replace SCEVComparePredicate with a wrapped SCEV expression
AbandonedPublic

Authored by reames on Feb 12 2022, 8:15 AM.

Details

Summary

This builds on D119558, and shows how having a compare node in SCEV itself lets us start to simplify the predication mechanism used in SCEVPredicate. This initial patch only handles the SCEVComparePredicate node, but once this lands, I plan to tackle the other leaf node type (SCEVWrapPredicate) and then the union wrapper.

Once this line of work is done, we will be able to form more general predicates, and will have eliminated all the duplicate logic in SCEVPredicate. The later will make it easier to keep the code correct, and the former will enable a couple of use cases which have come up in discussion over the last couple months.

Diff Detail

Event Timeline

reames created this revision.Feb 12 2022, 8:15 AM
reames requested review of this revision.Feb 12 2022, 8:15 AM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 12 2022, 8:15 AM
Herald added a subscriber: vkmr. · View Herald Transcript
mkazantsev resigned from this revision.Mar 4 2022, 12:13 AM
Herald added a project: Restricted Project. · View Herald TranscriptMar 4 2022, 12:13 AM
reames abandoned this revision.Oct 24 2022, 9:43 AM

Closing review I'm not currently working on, and am unlikely to get back to in near future. Will reopen if priorities change.