diff options
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Transforms/Scalar/SROA.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/Scalar/SROA.cpp b/llvm/lib/Transforms/Scalar/SROA.cpp index bc69a1f..ed0ca36 100644 --- a/llvm/lib/Transforms/Scalar/SROA.cpp +++ b/llvm/lib/Transforms/Scalar/SROA.cpp @@ -3481,6 +3481,7 @@ private: llvm::any_of(PHI->incoming_values(), [](Value *In) { Instruction *I = dyn_cast<Instruction>(In); return !I || isa<GetElementPtrInst>(I) || isa<PHINode>(I) || + succ_empty(I->getParent()) || !I->getParent()->isLegalToHoistInto(); })) return false; |