diff options
author | Xin Tong <trent.xin.tong@gmail.com> | 2017-06-17 16:55:12 +0000 |
---|---|---|
committer | Xin Tong <trent.xin.tong@gmail.com> | 2017-06-17 16:55:12 +0000 |
commit | 025780ba6e92a299b96cfb6d3b1e807e65a0db9d (patch) | |
tree | 059d1ccd51feadac6a378a5be2ea521b6c3f825c /llvm/lib/Transforms | |
parent | d5b4d0b53a4eb9a303d1627f096cc7da31bae5c5 (diff) | |
download | bcm5719-llvm-025780ba6e92a299b96cfb6d3b1e807e65a0db9d.tar.gz bcm5719-llvm-025780ba6e92a299b96cfb6d3b1e807e65a0db9d.zip |
[TRE] Add assertion for folding trivial return block
llvm-svn: 305637
Diffstat (limited to 'llvm/lib/Transforms')
-rw-r--r-- | llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp b/llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp index 93c4b57514c..365566c07f4 100644 --- a/llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp +++ b/llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp @@ -677,6 +677,10 @@ static bool foldReturnAndProcessPred(BasicBlock *BB, ReturnInst *Ret, const TargetTransformInfo *TTI) { bool Change = false; + // Make sure this block is a trivial return block. + assert(BB->getFirstNonPHIOrDbg() == Ret && + "Trying to fold non-trivial return block"); + // If the return block contains nothing but the return and PHI's, // there might be an opportunity to duplicate the return in its // predecessors and perform TRE there. Look for predecessors that end |