/freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
H A D | WinEHPrepare.cpp | 361 if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(TI)) { in getEHPadFromPredecessor() local 362 if (CatchSwitch->getParentPad() != ParentPad) in getEHPadFromPredecessor() 382 if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(FirstNonPHI)) { in calculateCXXStateNumbers() local 383 assert(FuncInfo.EHPadStateMap.count(CatchSwitch) == 0 && in calculateCXXStateNumbers() 387 for (const BasicBlock *CatchPadBB : CatchSwitch->handlers()) { in calculateCXXStateNumbers() 392 FuncInfo.EHPadStateMap[CatchSwitch] = TryLow; in calculateCXXStateNumbers() 395 CatchSwitch->getParentPad()))) in calculateCXXStateNumbers() 419 if (!UnwindDest || UnwindDest == CatchSwitch->getUnwindDest()) in calculateCXXStateNumbers() 427 if (!UnwindDest || UnwindDest == CatchSwitch->getUnwindDest()) in calculateCXXStateNumbers() 503 if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(FirstNonPHI)) { in calculateSEHStateNumbers() local [all …]
|
H A D | WasmEHPrepare.cpp | 395 if (const auto *CatchSwitch = dyn_cast<CatchSwitchInst>(UnwindPad)) in calculateWasmEHInfo() local 397 EHInfo.setUnwindDest(&BB, *CatchSwitch->handlers().begin()); in calculateWasmEHInfo()
|
H A D | TargetLoweringBase.cpp | 1771 case CatchSwitch: return 0; in InstructionOpcodeToISD()
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
H A D | InlineFunction.cpp | 260 if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(CurrentPad)) { in getUnwindDestTokenHelper() local 261 if (CatchSwitch->hasUnwindDest()) { in getUnwindDestTokenHelper() 262 UnwindDestToken = CatchSwitch->getUnwindDest()->getFirstNonPHI(); in getUnwindDestTokenHelper() 270 for (auto HI = CatchSwitch->handler_begin(), in getUnwindDestTokenHelper() 271 HE = CatchSwitch->handler_end(); in getUnwindDestTokenHelper() 505 if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(UselessPad)) { in getUnwindDestToken() local 506 assert(CatchSwitch->getUnwindDest() == nullptr && "Expected useless pad"); in getUnwindDestToken() 507 for (BasicBlock *HandlerBlock : CatchSwitch->handlers()) { in getUnwindDestToken() 714 if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(I)) { in HandleInlinedEHPad() local 715 if (CatchSwitch->unwindsToCaller()) { in HandleInlinedEHPad() [all …]
|
H A D | Local.cpp | 3107 } else if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(Terminator)) { in markAliveBlocks() local 3137 for (CatchSwitchInst::handler_iterator I = CatchSwitch->handler_begin(), in markAliveBlocks() 3138 E = CatchSwitch->handler_end(); in markAliveBlocks() 3147 CatchSwitch->removeHandler(I); in markAliveBlocks() 3182 } else if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(TI)) { in removeUnwindEdge() local 3184 CatchSwitch->getParentPad(), nullptr, CatchSwitch->getNumHandlers(), in removeUnwindEdge() 3185 CatchSwitch->getName(), CatchSwitch->getIterator()); in removeUnwindEdge() 3186 for (BasicBlock *PadBB : CatchSwitch->handlers()) in removeUnwindEdge() 3190 UnwindDest = CatchSwitch->getUnwindDest(); in removeUnwindEdge()
|
H A D | BasicBlockUtils.cpp | 894 else if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(PadInst)) in ehAwareSplitEdge() local 895 ParentPad = CatchSwitch->getParentPad(); in ehAwareSplitEdge()
|
/freebsd/contrib/llvm-project/clang/lib/CodeGen/ |
H A D | CGException.cpp | 980 llvm::CatchSwitchInst *CatchSwitch = in emitCatchPadBlock() local 995 CatchSwitch, {TypeInfo.RTTI, CGF.Builder.getInt32(TypeInfo.Flags), in emitCatchPadBlock() 998 CGF.Builder.CreateCatchPad(CatchSwitch, {TypeInfo.RTTI}); in emitCatchPadBlock() 1001 CatchSwitch->addHandler(Handler.Block); in emitCatchPadBlock() 1024 llvm::CatchSwitchInst *CatchSwitch = in emitWasmCatchPadBlock() local 1030 CatchSwitch->addHandler(WasmCatchStartBlock); in emitWasmCatchPadBlock() 1042 auto *CPI = CGF.Builder.CreateCatchPad(CatchSwitch, CatchTypes); in emitWasmCatchPadBlock() 1254 auto *CatchSwitch = in ExitCXXTryStmt() local 1256 WasmCatchStartBlock = CatchSwitch->hasUnwindDest() in ExitCXXTryStmt() 1257 ? CatchSwitch->getSuccessor(1) in ExitCXXTryStmt() [all …]
|
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/ |
H A D | Instruction.h | 346 case Instruction::CatchSwitch: 826 case Instruction::CatchSwitch:
|
H A D | Instructions.h | 4100 return I->getOpcode() == Instruction::CatchSwitch; 4147 explicit CatchPadInst(Value *CatchSwitch, ArrayRef<Value *> Args, 4150 : FuncletPadInst(Instruction::CatchPad, CatchSwitch, Args, Values, 4154 static CatchPadInst *Create(Value *CatchSwitch, ArrayRef<Value *> Args, 4159 CatchPadInst(CatchSwitch, Args, Values, NameStr, InsertBefore); 4166 void setCatchSwitch(Value *CatchSwitch) { 4167 assert(CatchSwitch); 4168 Op<-1>() = CatchSwitch;
|
H A D | Instruction.def | 136 HANDLE_TERM_INST (10, CatchSwitch , CatchSwitchInst)
|
/freebsd/contrib/llvm-project/llvm/lib/IR/ |
H A D | Verifier.cpp | 606 void visitCatchSwitchInst(CatchSwitchInst &CatchSwitch); 4704 if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(FPI.getParentPad())) { in visitFuncletPadInst() local 4705 BasicBlock *SwitchUnwindDest = CatchSwitch->getUnwindDest(); in visitFuncletPadInst() 4714 &FPI, FirstUser, CatchSwitch); in visitFuncletPadInst() 4721 void Verifier::visitCatchSwitchInst(CatchSwitchInst &CatchSwitch) { in visitCatchSwitchInst() argument 4722 BasicBlock *BB = CatchSwitch.getParent(); in visitCatchSwitchInst() 4727 &CatchSwitch); in visitCatchSwitchInst() 4731 Check(BB->getFirstNonPHI() == &CatchSwitch, in visitCatchSwitchInst() 4733 &CatchSwitch); in visitCatchSwitchInst() 4735 auto *ParentPad = CatchSwitch.getParentPad(); in visitCatchSwitchInst() [all …]
|
H A D | Instruction.cpp | 713 case CatchSwitch: return "catchswitch"; in getOpcodeName() 1102 case Instruction::CatchSwitch: in mayThrow()
|
H A D | Core.cpp | 3500 void LLVMAddHandler(LLVMValueRef CatchSwitch, LLVMBasicBlockRef Dest) { in LLVMAddHandler() argument 3501 unwrap<CatchSwitchInst>(CatchSwitch)->addHandler(unwrap(Dest)); in LLVMAddHandler() 3504 unsigned LLVMGetNumHandlers(LLVMValueRef CatchSwitch) { in LLVMGetNumHandlers() argument 3505 return unwrap<CatchSwitchInst>(CatchSwitch)->getNumHandlers(); in LLVMGetNumHandlers() 3508 void LLVMGetHandlers(LLVMValueRef CatchSwitch, LLVMBasicBlockRef *Handlers) { in LLVMGetHandlers() argument 3509 CatchSwitchInst *CSI = unwrap<CatchSwitchInst>(CatchSwitch); in LLVMGetHandlers() 3518 void LLVMSetParentCatchSwitch(LLVMValueRef CatchPad, LLVMValueRef CatchSwitch) { in LLVMSetParentCatchSwitch() argument 3520 ->setCatchSwitch(unwrap<CatchSwitchInst>(CatchSwitch)); in LLVMSetParentCatchSwitch()
|
H A D | AsmWriter.cpp | 4355 } else if (const auto *CatchSwitch = dyn_cast<CatchSwitchInst>(&I)) { in printInstruction() local 4357 writeOperand(CatchSwitch->getParentPad(), /*PrintType=*/false); in printInstruction() 4360 for (const BasicBlock *PadBB : CatchSwitch->handlers()) { in printInstruction() 4367 if (const BasicBlock *UnwindDest = CatchSwitch->getUnwindDest()) in printInstruction()
|
H A D | Instructions.cpp | 1021 : Instruction(ParentPad->getType(), Instruction::CatchSwitch, nullptr, 0, in CatchSwitchInst() 1030 : Instruction(CSI.getType(), Instruction::CatchSwitch, nullptr, in CatchSwitchInst()
|
/freebsd/contrib/llvm-project/llvm/include/llvm-c/ |
H A D | Core.h | 4238 void LLVMAddHandler(LLVMValueRef CatchSwitch, LLVMBasicBlockRef Dest); 4241 unsigned LLVMGetNumHandlers(LLVMValueRef CatchSwitch); 4254 void LLVMGetHandlers(LLVMValueRef CatchSwitch, LLVMBasicBlockRef *Handlers); 4280 void LLVMSetParentCatchSwitch(LLVMValueRef CatchPad, LLVMValueRef CatchSwitch);
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Coroutines/ |
H A D | CoroFrame.cpp | 1721 static Instruction *splitBeforeCatchSwitch(CatchSwitchInst *CatchSwitch) { in splitBeforeCatchSwitch() argument 1722 BasicBlock *CurrentBlock = CatchSwitch->getParent(); in splitBeforeCatchSwitch() 1723 BasicBlock *NewBlock = CurrentBlock->splitBasicBlock(CatchSwitch); in splitBeforeCatchSwitch() 1727 CleanupPadInst::Create(CatchSwitch->getParentPad(), {}, "", CurrentBlock); in splitBeforeCatchSwitch()
|
/freebsd/contrib/llvm-project/llvm/lib/Bitcode/Writer/ |
H A D | BitcodeWriter.cpp | 3176 case Instruction::CatchSwitch: { in writeInstruction() 3178 const auto &CatchSwitch = cast<CatchSwitchInst>(I); in writeInstruction() local 3180 pushValue(CatchSwitch.getParentPad(), InstID, Vals); in writeInstruction() 3182 unsigned NumHandlers = CatchSwitch.getNumHandlers(); in writeInstruction() 3184 for (const BasicBlock *CatchPadBB : CatchSwitch.handlers()) in writeInstruction() 3187 if (CatchSwitch.hasUnwindDest()) in writeInstruction() 3188 Vals.push_back(VE.getValueID(CatchSwitch.getUnwindDest())); in writeInstruction()
|
/freebsd/contrib/llvm-project/llvm/lib/AsmParser/ |
H A D | LLLexer.cpp | 910 INSTKEYWORD(catchswitch, CatchSwitch); in LexIdentifier()
|
H A D | LLParser.cpp | 7500 auto *CatchSwitch = in parseCatchSwitch() local 7503 CatchSwitch->addHandler(DestBB); in parseCatchSwitch() 7504 Inst = CatchSwitch; in parseCatchSwitch() 7511 Value *CatchSwitch = nullptr; in parseCatchPad() local 7519 if (parseValue(Type::getTokenTy(Context), CatchSwitch, PFS)) in parseCatchPad() 7526 Inst = CatchPadInst::Create(CatchSwitch, Args); in parseCatchPad()
|
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/ |
H A D | IRTranslator.cpp | 2852 if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(Pad)) { in findUnwindDestinations() local 2854 for (const BasicBlock *CatchPadBB : CatchSwitch->handlers()) { in findUnwindDestinations() 2862 NewEHPadBB = CatchSwitch->getUnwindDest(); in findUnwindDestinations()
|
/freebsd/contrib/llvm-project/llvm/lib/Bitcode/Reader/ |
H A D | BitcodeReader.cpp | 5576 auto *CatchSwitch = in parseFunctionBody() local 5579 CatchSwitch->addHandler(Handler); in parseFunctionBody() 5580 I = CatchSwitch; in parseFunctionBody()
|
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/ |
H A D | SelectionDAGBuilder.cpp | 2064 } else if (const auto *CatchSwitch = dyn_cast<CatchSwitchInst>(Pad)) { in findWasmUnwindDestinations() local 2067 for (const BasicBlock *CatchPadBB : CatchSwitch->handlers()) { in findWasmUnwindDestinations() 2119 } else if (const auto *CatchSwitch = dyn_cast<CatchSwitchInst>(Pad)) { in findUnwindDestinations() local 2121 for (const BasicBlock *CatchPadBB : CatchSwitch->handlers()) { in findUnwindDestinations() 2129 NewEHPadBB = CatchSwitch->getUnwindDest(); in findUnwindDestinations()
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/IPO/ |
H A D | Attributor.cpp | 3271 case Instruction::CatchSwitch: in initializeInformationCache()
|
/freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
H A D | ValueTracking.cpp | 6916 case Instruction::CatchSwitch: in isSafeToSpeculativelyExecuteWithOpcode()
|