Home
last modified time | relevance | path

Searched refs:UnwindDest (Results 1 – 18 of 18) sorted by relevance

/llvm-project-15.0.7/llvm/lib/CodeGen/
H A DWinEHPrepare.cpp283 if (!UnwindDest || UnwindDest == CatchSwitch->getUnwindDest()) in calculateCXXStateNumbers()
291 if (!UnwindDest || UnwindDest == CatchSwitch->getUnwindDest()) in calculateCXXStateNumbers()
400 BasicBlock *UnwindDest = InnerCatchSwitch->getUnwindDest(); in calculateSEHStateNumbers() local
401 if (!UnwindDest || UnwindDest == CatchSwitch->getUnwindDest()) in calculateSEHStateNumbers()
409 if (!UnwindDest || UnwindDest == CatchSwitch->getUnwindDest()) in calculateSEHStateNumbers()
608 const BasicBlock *UnwindDest; in calculateClrEHStateNumbers() local
618 UnwindDest = Catch->getCatchSwitch()->getUnwindDest(); in calculateClrEHStateNumbers()
621 UnwindDest = nullptr; in calculateClrEHStateNumbers()
626 UnwindDest = CleanupRet->getUnwindDest(); in calculateClrEHStateNumbers()
668 UnwindDest = UserUnwindDest; in calculateClrEHStateNumbers()
[all …]
/llvm-project-15.0.7/llvm/lib/Target/WebAssembly/
H A DWebAssemblyCFGStackify.cpp1117 MachineBasicBlock *UnwindDest = getFakeCallerBlock(MF); in fixCallUnwindMismatches() local
1125 UnwindDest = Succ; in fixCallUnwindMismatches()
1129 if (EHPadStack.back() == UnwindDest) in fixCallUnwindMismatches()
1142 UnwindDestToTryRanges[UnwindDest].push_back( in fixCallUnwindMismatches()
1225 MachineBasicBlock *UnwindDest = P.first; in fixCallUnwindMismatches() local
1248 addTryDelegate(RangeBegin, RangeEnd, UnwindDest); in fixCallUnwindMismatches()
1334 auto *UnwindDest = EHInfo->getUnwindDest(EHPad); in fixCatchUnwindMismatches() local
1335 if (EHPadStack.back() != UnwindDest) { in fixCatchUnwindMismatches()
1336 EHPadToUnwindDest[EHPad] = UnwindDest; in fixCatchUnwindMismatches()
1357 MachineBasicBlock *UnwindDest = P.second; in fixCatchUnwindMismatches() local
[all …]
H A DWebAssemblyExceptionInfo.cpp132 auto *UnwindDest = EHInfo->getUnwindDest(EHPad); in recalculate() local
134 auto *DstWE = getExceptionFor(UnwindDest); in recalculate()
H A DWebAssemblyLowerEmscriptenEHSjLj.cpp1826 BasicBlock *UnwindDest = nullptr; in handleLongjmpableCallsForWasmSjLj() local
1829 while (!UnwindDest) { in handleLongjmpableCallsForWasmSjLj()
1831 UnwindDest = CPI->getCatchSwitch()->getUnwindDest(); in handleLongjmpableCallsForWasmSjLj()
1840 UnwindDest = getCleanupRetUnwindDest(CPI); in handleLongjmpableCallsForWasmSjLj()
1848 if (!UnwindDest) in handleLongjmpableCallsForWasmSjLj()
1849 UnwindDest = CatchDispatchLongjmpBB; in handleLongjmpableCallsForWasmSjLj()
1850 changeToInvokeAndSplitBasicBlock(CI, UnwindDest); in handleLongjmpableCallsForWasmSjLj()
/llvm-project-15.0.7/llvm/lib/Analysis/
H A DFunctionPropertiesAnalysis.cpp157 const auto *UnwindDest = II->getUnwindDest(); in FunctionPropertiesUpdater() local
158 Successors.insert(succ_begin(UnwindDest), succ_end(UnwindDest)); in FunctionPropertiesUpdater()
/llvm-project-15.0.7/llvm/lib/Transforms/Utils/
H A DInlineFunction.cpp664 BasicBlock *UnwindDest = II->getUnwindDest(); in HandleInlinedEHPad() local
667 assert(UnwindDest->getFirstNonPHI()->isEHPad() && "unexpected BasicBlock!"); in HandleInlinedEHPad()
674 for (PHINode &PHI : UnwindDest->phis()) { in HandleInlinedEHPad()
682 BasicBlock::iterator I = UnwindDest->begin(); in HandleInlinedEHPad()
698 CleanupReturnInst::Create(CleanupPad, UnwindDest, CRI); in HandleInlinedEHPad()
744 CatchSwitch->getParentPad(), UnwindDest, in HandleInlinedEHPad()
773 &*BB, UnwindDest, &FuncletUnwindMap)) in HandleInlinedEHPad()
782 UnwindDest->removePredecessor(InvokeBB); in HandleInlinedEHPad()
2324 BasicBlock *UnwindDest = II->getUnwindDest(); in InlineFunction() local
2325 Instruction *FirstNonPHI = UnwindDest->getFirstNonPHI(); in InlineFunction()
H A DSimplifyCFG.cpp4798 BasicBlock *UnwindDest = RI->getUnwindDest(); in removeEmptyCleanup() local
4799 Instruction *DestEHPad = UnwindDest ? UnwindDest->getFirstNonPHI() : nullptr; in removeEmptyCleanup()
4806 if (UnwindDest) { in removeEmptyCleanup()
4809 for (PHINode &DestPN : UnwindDest->phis()) { in removeEmptyCleanup()
4848 for (auto *pred : predecessors(UnwindDest)) in removeEmptyCleanup()
4862 if (UnwindDest == nullptr) { in removeEmptyCleanup()
4872 TI->replaceUsesOfWith(BB, UnwindDest); in removeEmptyCleanup()
4892 BasicBlock *UnwindDest = RI->getUnwindDest(); in mergeCleanupPad() local
4893 if (!UnwindDest) in mergeCleanupPad()
4898 if (UnwindDest->getSinglePredecessor() != RI->getParent()) in mergeCleanupPad()
[all …]
H A DLocal.cpp2456 BasicBlock *UnwindDest; in removeUnwindEdge() local
2460 UnwindDest = CRI->getUnwindDest(); in removeUnwindEdge()
2469 UnwindDest = CatchSwitch->getUnwindDest(); in removeUnwindEdge()
2476 UnwindDest->removePredecessor(BB); in removeUnwindEdge()
2480 DTU->applyUpdates({{DominatorTree::Delete, BB, UnwindDest}}); in removeUnwindEdge()
/llvm-project-15.0.7/llvm/lib/IR/
H A DIRBuilder.cpp773 BasicBlock *UnwindDest, uint32_t Flags, ArrayRef<T0> InvokeArgs, in CreateGCStatepointInvokeCommon() argument
787 FnStatepoint, NormalDest, UnwindDest, Args, in CreateGCStatepointInvokeCommon()
797 BasicBlock *NormalDest, BasicBlock *UnwindDest, in CreateGCStatepointInvoke() argument
801 this, ID, NumPatchBytes, ActualInvokee, NormalDest, UnwindDest, in CreateGCStatepointInvoke()
808 BasicBlock *NormalDest, BasicBlock *UnwindDest, uint32_t Flags, in CreateGCStatepointInvoke() argument
813 this, ID, NumPatchBytes, ActualInvokee, NormalDest, UnwindDest, Flags, in CreateGCStatepointInvoke()
819 BasicBlock *NormalDest, BasicBlock *UnwindDest, ArrayRef<Use> InvokeArgs, in CreateGCStatepointInvoke() argument
823 this, ID, NumPatchBytes, ActualInvokee, NormalDest, UnwindDest, in CreateGCStatepointInvoke()
H A DVerifier.cpp2387 BasicBlock *UnwindDest; in getSuccPad() local
2389 UnwindDest = II->getUnwindDest(); in getSuccPad()
2391 UnwindDest = CSI->getUnwindDest(); in getSuccPad()
2394 return UnwindDest->getFirstNonPHI(); in getSuccPad()
4199 BasicBlock *UnwindDest; in visitFuncletPadInst() local
4201 UnwindDest = CRI->getUnwindDest(); in visitFuncletPadInst()
4209 UnwindDest = CSI->getUnwindDest(); in visitFuncletPadInst()
4211 UnwindDest = II->getUnwindDest(); in visitFuncletPadInst()
4230 if (UnwindDest) { in visitFuncletPadInst()
4231 UnwindPad = UnwindDest->getFirstNonPHI(); in visitFuncletPadInst()
[all …]
H A DInstructions.cpp1129 CatchSwitchInst::CatchSwitchInst(Value *ParentPad, BasicBlock *UnwindDest, in CatchSwitchInst() argument
1135 if (UnwindDest) in CatchSwitchInst()
1137 init(ParentPad, UnwindDest, NumReservedValues + 1); in CatchSwitchInst()
1141 CatchSwitchInst::CatchSwitchInst(Value *ParentPad, BasicBlock *UnwindDest, in CatchSwitchInst() argument
1146 if (UnwindDest) in CatchSwitchInst()
1148 init(ParentPad, UnwindDest, NumReservedValues + 1); in CatchSwitchInst()
1163 void CatchSwitchInst::init(Value *ParentPad, BasicBlock *UnwindDest, in init() argument
1168 setNumHungOffUseOperands(UnwindDest ? 2 : 1); in init()
1172 if (UnwindDest) { in init()
1174 setUnwindDest(UnwindDest); in init()
H A DAsmWriter.cpp4077 if (const BasicBlock *UnwindDest = CatchSwitch->getUnwindDest()) in printInstruction() local
4078 writeOperand(UnwindDest, /*PrintType=*/true); in printInstruction()
/llvm-project-15.0.7/llvm/include/llvm/IR/
H A DIRBuilder.h818 BasicBlock *UnwindDest, ArrayRef<Value *> InvokeArgs,
826 BasicBlock *NormalDest, BasicBlock *UnwindDest, uint32_t Flags,
837 BasicBlock *UnwindDest, ArrayRef<Use> InvokeArgs,
1029 BasicBlock *NormalDest, BasicBlock *UnwindDest,
1034 InvokeInst::Create(Ty, Callee, NormalDest, UnwindDest, Args, OpBundles);
1040 BasicBlock *NormalDest, BasicBlock *UnwindDest,
1044 InvokeInst::Create(Ty, Callee, NormalDest, UnwindDest, Args);
1051 BasicBlock *UnwindDest, ArrayRef<Value *> Args,
1055 NormalDest, UnwindDest, Args, OpBundles, Name);
1059 BasicBlock *UnwindDest,
[all …]
H A DInstructions.h4295 CatchSwitchInst(Value *ParentPad, BasicBlock *UnwindDest,
4303 CatchSwitchInst(Value *ParentPad, BasicBlock *UnwindDest,
4310 void init(Value *ParentPad, BasicBlock *UnwindDest, unsigned NumReserved);
4322 static CatchSwitchInst *Create(Value *ParentPad, BasicBlock *UnwindDest,
4326 return new CatchSwitchInst(ParentPad, UnwindDest, NumHandlers, NameStr,
4330 static CatchSwitchInst *Create(Value *ParentPad, BasicBlock *UnwindDest,
4333 return new CatchSwitchInst(ParentPad, UnwindDest, NumHandlers, NameStr,
4352 void setUnwindDest(BasicBlock *UnwindDest) {
4353 assert(UnwindDest);
4355 setOperand(1, UnwindDest);
/llvm-project-15.0.7/llvm/lib/Bitcode/Reader/
H A DBitcodeReader.cpp5129 BasicBlock *UnwindDest = nullptr; in parseFunctionBody() local
5131 UnwindDest = getBasicBlock(Record[Idx++]); in parseFunctionBody()
5132 if (!UnwindDest) in parseFunctionBody()
5136 I = CleanupReturnInst::Create(CleanupPad, UnwindDest); in parseFunctionBody()
5178 BasicBlock *UnwindDest = nullptr; in parseFunctionBody() local
5180 UnwindDest = getBasicBlock(Record[Idx++]); in parseFunctionBody()
5181 if (!UnwindDest) in parseFunctionBody()
5189 CatchSwitchInst::Create(ParentPad, UnwindDest, NumHandlers); in parseFunctionBody()
/llvm-project-15.0.7/llvm/lib/CodeGen/GlobalISel/
H A DIRTranslator.cpp2607 for (auto &UnwindDest : UnwindDests) { in translateInvoke() local
2608 UnwindDest.first->setIsEHPad(); in translateInvoke()
2609 addSuccessorWithProb(InvokeMBB, UnwindDest.first, UnwindDest.second); in translateInvoke()
/llvm-project-15.0.7/llvm/unittests/IR/
H A DInstructionsTest.cpp776 std::unique_ptr<BasicBlock> UnwindDest(BasicBlock::Create(C)); in TEST() local
779 InvokeInst::Create(FnTy, Callee, NormalDest.get(), UnwindDest.get(), Args, in TEST()
/llvm-project-15.0.7/llvm/lib/CodeGen/SelectionDAG/
H A DSelectionDAGBuilder.cpp1872 auto UnwindDest = I.getUnwindDest(); in visitCleanupRet() local
1875 (BPI && UnwindDest) in visitCleanupRet()
1876 ? BPI->getEdgeProbability(FuncInfo.MBB->getBasicBlock(), UnwindDest) in visitCleanupRet()
1878 findUnwindDestinations(FuncInfo, UnwindDest, UnwindDestProb, UnwindDests); in visitCleanupRet()
1879 for (auto &UnwindDest : UnwindDests) { in visitCleanupRet() local
1880 UnwindDest.first->setIsEHPad(); in visitCleanupRet()
1881 addSuccessorWithProb(FuncInfo.MBB, UnwindDest.first, UnwindDest.second); in visitCleanupRet()
2968 for (auto &UnwindDest : UnwindDests) { in visitInvoke() local
2969 UnwindDest.first->setIsEHPad(); in visitInvoke()
2970 addSuccessorWithProb(InvokeMBB, UnwindDest.first, UnwindDest.second); in visitInvoke()