aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
diff options
context:
space:
mode:
authorKonrad Kleine <kkleine@redhat.com>2023-08-29 11:16:42 +0200
committerKonrad Kleine <kkleine@redhat.com>2023-09-19 12:04:17 +0200
commit5bd1b93cb2208c8889c8ca7283499d40aaf06e39 (patch)
tree84f571d87e043dbcbaccbabf1d018bb99ba0eff9 /llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
parentad4a5130277776d8f15f40ac5a6dede6ad3aabfb (diff)
downloadllvm-5bd1b93cb2208c8889c8ca7283499d40aaf06e39.zip
llvm-5bd1b93cb2208c8889c8ca7283499d40aaf06e39.tar.gz
llvm-5bd1b93cb2208c8889c8ca7283499d40aaf06e39.tar.bz2
Move CallInst::CreateFree to IRBuilderBase
Similarly to D158861 I'm moving the `CreateFree` method from `CallInst` to `IRBuilderBase`. Differential Revision: https://reviews.llvm.org/D159418
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp')
-rw-r--r--llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp9
1 files changed, 2 insertions, 7 deletions
diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp b/llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
index d7cf703..5e84fff 100644
--- a/llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
+++ b/llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
@@ -1401,14 +1401,9 @@ bool WebAssemblyLowerEmscriptenEHSjLj::runSjLjOnFunction(Function &F) {
if (auto *CB = dyn_cast<CallBase>(I))
if (auto Bundle = CB->getOperandBundle(LLVMContext::OB_funclet))
Bundles.push_back(OperandBundleDef(*Bundle));
- auto *Free = CallInst::CreateFree(SetjmpTable, Bundles, I);
+ IRB.SetInsertPoint(I);
+ auto *Free = IRB.CreateFree(SetjmpTable, Bundles);
Free->setDebugLoc(DL);
- // CallInst::CreateFree may create a bitcast instruction if its argument
- // types mismatch. We need to set the debug loc for the bitcast too.
- if (auto *FreeCallI = dyn_cast<CallInst>(Free)) {
- if (auto *BitCastI = dyn_cast<BitCastInst>(FreeCallI->getArgOperand(0)))
- BitCastI->setDebugLoc(DL);
- }
}
// Every call to saveSetjmp can change setjmpTable and setjmpTableSize