diff options
Diffstat (limited to 'llvm/lib/Transforms/Utils/SimplifyCFG.cpp')
-rw-r--r-- | llvm/lib/Transforms/Utils/SimplifyCFG.cpp | 10 |
1 files changed, 0 insertions, 10 deletions
diff --git a/llvm/lib/Transforms/Utils/SimplifyCFG.cpp b/llvm/lib/Transforms/Utils/SimplifyCFG.cpp index 75c9650..94b0ab8 100644 --- a/llvm/lib/Transforms/Utils/SimplifyCFG.cpp +++ b/llvm/lib/Transforms/Utils/SimplifyCFG.cpp @@ -2227,16 +2227,6 @@ static bool canSinkInstructions( return I->getOperand(OI) == I0->getOperand(OI); }; if (!all_of(Insts, SameAsI0)) { - // SROA can't speculate lifetime markers of selects/phis, and the - // backend may handle such lifetimes incorrectly as well (#104776). - // Don't sink lifetimes if it would introduce a phi on the pointer - // argument. - if (isa<LifetimeIntrinsic>(I0) && OI == 1 && - any_of(Insts, [](const Instruction *I) { - return isa<AllocaInst>(I->getOperand(1)->stripPointerCasts()); - })) - return false; - if ((isa<Constant>(Op) && !replacingOperandWithVariableIsCheap(I0, OI)) || !canReplaceOperandWithVariable(I0, OI)) // We can't create a PHI from this GEP. |