[llvm] [CodeGenPrepare] Handle address sinking obtained from invoke (PR #143566)
Evgenii Kudriashov via llvm-commits
llvm-commits at lists.llvm.org
Wed Jun 11 14:42:38 PDT 2025
================
@@ -5790,7 +5790,8 @@ static BasicBlock::iterator findInsertPos(Value *Addr, Instruction *MemoryInst,
// instruction after it.
if (SunkAddr) {
if (Instruction *AddrInst = dyn_cast<Instruction>(SunkAddr))
- return std::next(AddrInst->getIterator());
+ return AddrInst->isTerminator() ? MemoryInst->getIterator()
+ : std::next(AddrInst->getIterator());
----------------
e-kud wrote:
> The proposed fix is like adding a null check when the correct fix was to avoid passing null at a higher level.
Yeah, I agree but the same we can say about checking on `Instruction` to bypass arguments and globals.
https://github.com/llvm/llvm-project/pull/143566
More information about the llvm-commits
mailing list