Convert LoopInstSimplify to new PM. Unfortunately there is no exisiting unittest for this pass.
Details
Details
Diff Detail
Diff Detail
Event Timeline
Comment Actions
LGTM.
One tip is that usually you don't need to rename to "LegacyPass" unless the existing name conflicts.
I.e. usually the old PM class will be called e.g. LoopInstSimplify, the new one will be called LoopInstSimplifyPass, and so there is no conflict. This avoids a little bit of work when porting passes.
Also, for the record, the current remaining passes needed for the per-TU O3 pipeline are:
- Loop Distribution
- Loop Load Elimination
- Loop Unswitch (this one may be harder since it needs "addLoop" API on loop pass manager; it may be possible to make addLoop a no-op in the new PM with a FIXME; for example, Loop Distribution does not call addLoop (probably a bug... but it is the current state))
- Loop Unroll (I have a patch locally that I'll commit soon once I finish debugging some issues with the new PM)
(After Loop Unroll together with D21483 I can now run LLD's entire LTO pipeline with the new PM! (and start to debug the issues :) ) )
Comment Actions
You can consider an explicit LGTM (like I did above) as an approval (e.g. as it would mean in an email response). Feel free to commit this.