diff options
author | Konrad Kleine <kkleine@redhat.com> | 2023-08-29 11:16:42 +0200 |
---|---|---|
committer | Konrad Kleine <kkleine@redhat.com> | 2023-09-19 12:04:17 +0200 |
commit | 5bd1b93cb2208c8889c8ca7283499d40aaf06e39 (patch) | |
tree | 84f571d87e043dbcbaccbabf1d018bb99ba0eff9 /llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp | |
parent | ad4a5130277776d8f15f40ac5a6dede6ad3aabfb (diff) | |
download | llvm-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.cpp | 9 |
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 |