diff options
author | Igor Laevsky <igmyrj@gmail.com> | 2016-10-11 13:37:22 +0000 |
---|---|---|
committer | Igor Laevsky <igmyrj@gmail.com> | 2016-10-11 13:37:22 +0000 |
commit | 04423cf785f917220a19e803c58f4f5023108137 (patch) | |
tree | efa1d0b427ae7e133c3c83b6e98a1f6dd7240611 /llvm/lib/Transforms/Utils/LCSSA.cpp | |
parent | 6d71f7b348f10edfe134fb361b026eb49e777700 (diff) | |
download | bcm5719-llvm-04423cf785f917220a19e803c58f4f5023108137.tar.gz bcm5719-llvm-04423cf785f917220a19e803c58f4f5023108137.zip |
[LCSSA] Implement linear algorithm for the isRecursivelyLCSSAForm
For each block check that it doesn't have any uses outside of it's innermost loop.
Differential Revision: https://reviews.llvm.org/D25364
llvm-svn: 283877
Diffstat (limited to 'llvm/lib/Transforms/Utils/LCSSA.cpp')
-rw-r--r-- | llvm/lib/Transforms/Utils/LCSSA.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/Utils/LCSSA.cpp b/llvm/lib/Transforms/Utils/LCSSA.cpp index ac403cc72c6..5d818cc734b 100644 --- a/llvm/lib/Transforms/Utils/LCSSA.cpp +++ b/llvm/lib/Transforms/Utils/LCSSA.cpp @@ -323,7 +323,8 @@ struct LCSSAWrapperPass : public FunctionPass { bool runOnFunction(Function &F) override; void verifyAnalysis() const override { assert( - all_of(*LI, [&](Loop *L) { return L->isRecursivelyLCSSAForm(*DT); }) && + all_of(*LI, + [&](Loop *L) { return L->isRecursivelyLCSSAForm(*DT, *LI); }) && "LCSSA form is broken!"); }; |