diff options
| author | Jeremy Morse <jeremy.morse@sony.com> | 2024-08-08 14:25:06 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-08-08 14:25:06 +0100 |
| commit | fd7d7882e7fa5a38d4bfde426120d4663718beb4 (patch) | |
| tree | 44094aa20d55d6eacb94a7dd53d996546fae0896 /llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp | |
| parent | 1139dee910c45cfdd4a6066b22addef585e04032 (diff) | |
[DebugInfo][RemoveDIs] Use iterators to insert everywhere (#102003)
These are the final few places in LLVM where we use instruction pointers
to identify the position that we're inserting something. We're trying to
get away from that with a view to deprecating those methods, thus use
iterators in all these places. I believe they're all debug-info safe.
The sketchiest part is the ExtractValueInst copy constructor, where we
cast nullptr to a BasicBlock pointer, so that we take the non-default
insert-into-no-block path for instruction insertion, instead of the
default nullptr-instruction path for UnaryInstruction. Such a hack is
necessary until we get rid of the instruction constructor entirely.
Diffstat (limited to 'llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp')
| -rw-r--r-- | llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp b/llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp index 61183752ab90..cfae63405966 100644 --- a/llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp +++ b/llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp @@ -460,7 +460,7 @@ static void convertMetadataToAssumes(LoadInst *LI, Value *Val, LLVMContext &Ctx = LI->getContext(); new StoreInst(ConstantInt::getTrue(Ctx), PoisonValue::get(PointerType::getUnqual(Ctx)), - /*isVolatile=*/false, Align(1), LI); + /*isVolatile=*/false, Align(1), LI->getIterator()); return; } |
