[PATCH] D17442: [LPM] Remove the last worrisome split in the primary loop pass pipeline, allowing LICM and friends to always run over the outer loop after unrolling has a chance to remove the inner loop.
Michael Zolotukhin via llvm-commits
llvm-commits at lists.llvm.org
Fri Feb 19 12:23:36 PST 2016
mzolotukhin added a comment.
> LoopPassManager [ loop passes A -> LoopSimplifyCFG -> loop passes B ]
> SimplifyCFG
>
> does worse than
>
> LoopPassManager [ loop passes A ]
> SimplifyCFG
> LoopPassManager [ loop passes B ]
Yeah, in my experiments we did have a lot of cases like you described. Basically, `LoopSimplifyCFG` in the first option wasn't able to cleanup the code enough for `loop passes B` to be effective. I also tried adding loop deletion/etc. but with no luck either.
That said, I didn't spend much time on it, so I don't have deep details. I think it's worth investigating further, especially since this is an active are now.
http://reviews.llvm.org/D17442
More information about the llvm-commits
mailing list