[PATCH] D25364: [LCSSA] Use linear algorithm for isRecursivelyLCSSAForm

Michael Zolotukhin via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 10 11:51:19 PDT 2016


mzolotukhin accepted this revision.
mzolotukhin added a comment.

Hi Igor,

The patch looks good to me, thank you for doing this!

> I agree that putting LCSSAWrapperPass::verifyAnalysis under a flag isn't a good way to deal with the slowdown. Can't we apply same technique as was used for the verifyLoop (https://github.com/llvm-mirror/llvm/blob/93e6e5414ded14bcbb233baaaa5567132fee9a0c/lib/Analysis/LoopPass.cpp#L219)? I.e add explicit verification inside LPPassManager for each of the top-level loops.

Do I understand it correctly, that we'll be checking LCSSA only for the current loop after each loop-pass? I think it should be sufficient, because if a pass breaks LCSSA, we should fail when LPM proceeds to the parent loop. However, for the sake of easier debugging I would prefer to allow full verification as we have it right now too, probably under `-verify-loop-info` as well (or under another flag). It really helps to find the broken pass faster.

Thanks,
Michael


https://reviews.llvm.org/D25364





More information about the llvm-commits mailing list