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

Igor Laevsky via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 10 06:44:54 PDT 2016


igor-laevsky updated this revision to Diff 74121.
igor-laevsky added a comment.

Thanks for the comments!

Michael, your second point seems very reasonable. Please take a look at the updated diff. I kept the original name "isRecursivelyLCSSAForm", despite that function is no longer recursive. I think it still describes the process fairly well.

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.


https://reviews.llvm.org/D25364

Files:
  include/llvm/Analysis/LoopInfo.h
  lib/Analysis/LoopInfo.cpp
  lib/Transforms/Scalar/IndVarSimplify.cpp
  lib/Transforms/Utils/LCSSA.cpp
  lib/Transforms/Utils/LoopSimplify.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D25364.74121.patch
Type: text/x-patch
Size: 7186 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161010/826c4090/attachment.bin>


More information about the llvm-commits mailing list