diff options
Diffstat (limited to 'llvm/lib/CodeGen/CodeGenPrepare.cpp')
-rw-r--r-- | llvm/lib/CodeGen/CodeGenPrepare.cpp | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/llvm/lib/CodeGen/CodeGenPrepare.cpp b/llvm/lib/CodeGen/CodeGenPrepare.cpp index 3792b45..43574a5 100644 --- a/llvm/lib/CodeGen/CodeGenPrepare.cpp +++ b/llvm/lib/CodeGen/CodeGenPrepare.cpp @@ -896,12 +896,7 @@ BasicBlock *CodeGenPrepare::findDestBlockOfMergeableEmptyBlock(BasicBlock *BB) { BasicBlock::iterator BBI = BI->getIterator(); if (BBI != BB->begin()) { --BBI; - while (isa<DbgInfoIntrinsic>(BBI)) { - if (BBI == BB->begin()) - break; - --BBI; - } - if (!isa<DbgInfoIntrinsic>(BBI) && !isa<PHINode>(BBI)) + if (!isa<PHINode>(BBI)) return nullptr; } @@ -2981,10 +2976,9 @@ bool CodeGenPrepare::dupRetToEnableTailCallOpts(BasicBlock *BB, // Make sure there are no instructions between the first instruction // and return. BasicBlock::const_iterator BI = BB->getFirstNonPHIIt(); - // Skip over debug and the bitcast. - while (isa<DbgInfoIntrinsic>(BI) || &*BI == BCI || &*BI == EVI || - isa<PseudoProbeInst>(BI) || isLifetimeEndOrBitCastFor(&*BI) || - isFakeUse(&*BI)) + // Skip over pseudo-probes and the bitcast. + while (&*BI == BCI || &*BI == EVI || isa<PseudoProbeInst>(BI) || + isLifetimeEndOrBitCastFor(&*BI) || isFakeUse(&*BI)) BI = std::next(BI); if (&*BI != RetI) return false; |