| /llvm-project-15.0.7/llvm/lib/CodeGen/ |
| H A D | WinEHPrepare.cpp | 283 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 D | WebAssemblyCFGStackify.cpp | 1117 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 D | WebAssemblyExceptionInfo.cpp | 132 auto *UnwindDest = EHInfo->getUnwindDest(EHPad); in recalculate() local 134 auto *DstWE = getExceptionFor(UnwindDest); in recalculate()
|
| H A D | WebAssemblyLowerEmscriptenEHSjLj.cpp | 1826 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 D | FunctionPropertiesAnalysis.cpp | 157 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 D | InlineFunction.cpp | 664 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 D | SimplifyCFG.cpp | 4798 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 D | Local.cpp | 2456 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 D | IRBuilder.cpp | 773 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 D | Verifier.cpp | 2387 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 D | Instructions.cpp | 1129 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 D | AsmWriter.cpp | 4077 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 D | IRBuilder.h | 818 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 D | Instructions.h | 4295 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 D | BitcodeReader.cpp | 5129 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 D | IRTranslator.cpp | 2607 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 D | InstructionsTest.cpp | 776 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 D | SelectionDAGBuilder.cpp | 1872 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()
|