Home
last modified time | relevance | path

Searched refs:CatchSwitch (Results 1 – 25 of 30) sorted by relevance

12

/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DWinEHPrepare.cpp363 if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(TI)) { in getEHPadFromPredecessor() local
364 if (CatchSwitch->getParentPad() != ParentPad) in getEHPadFromPredecessor()
384 if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(FirstNonPHI)) { in calculateCXXStateNumbers() local
385 assert(FuncInfo.EHPadStateMap.count(CatchSwitch) == 0 && in calculateCXXStateNumbers()
389 for (const BasicBlock *CatchPadBB : CatchSwitch->handlers()) { in calculateCXXStateNumbers()
394 FuncInfo.EHPadStateMap[CatchSwitch] = TryLow; in calculateCXXStateNumbers()
397 CatchSwitch->getParentPad()))) in calculateCXXStateNumbers()
421 if (!UnwindDest || UnwindDest == CatchSwitch->getUnwindDest()) in calculateCXXStateNumbers()
429 if (!UnwindDest || UnwindDest == CatchSwitch->getUnwindDest()) in calculateCXXStateNumbers()
506 if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(FirstNonPHI)) { in calculateSEHStateNumbers() local
[all …]
H A DWasmEHPrepare.cpp395 if (const auto *CatchSwitch = dyn_cast<CatchSwitchInst>(UnwindPad)) in calculateWasmEHInfo() local
397 EHInfo.setUnwindDest(&BB, *CatchSwitch->handlers().begin()); in calculateWasmEHInfo()
H A DTargetLoweringBase.cpp1858 case CatchSwitch: return 0; in InstructionOpcodeToISD()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Coroutines/
H A DSpillUtils.cpp106 static Instruction *splitBeforeCatchSwitch(CatchSwitchInst *CatchSwitch) { in splitBeforeCatchSwitch() argument
107 BasicBlock *CurrentBlock = CatchSwitch->getParent(); in splitBeforeCatchSwitch()
108 BasicBlock *NewBlock = CurrentBlock->splitBasicBlock(CatchSwitch); in splitBeforeCatchSwitch()
112 CleanupPadInst::Create(CatchSwitch->getParentPad(), {}, "", CurrentBlock); in splitBeforeCatchSwitch()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DInlineFunction.cpp278 if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(CurrentPad)) { in getUnwindDestTokenHelper() local
279 if (CatchSwitch->hasUnwindDest()) { in getUnwindDestTokenHelper()
280 UnwindDestToken = &*CatchSwitch->getUnwindDest()->getFirstNonPHIIt(); in getUnwindDestTokenHelper()
288 for (auto HI = CatchSwitch->handler_begin(), in getUnwindDestTokenHelper()
289 HE = CatchSwitch->handler_end(); in getUnwindDestTokenHelper()
524 if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(UselessPad)) { in getUnwindDestToken() local
525 assert(CatchSwitch->getUnwindDest() == nullptr && "Expected useless pad"); in getUnwindDestToken()
526 for (BasicBlock *HandlerBlock : CatchSwitch->handlers()) { in getUnwindDestToken()
733 if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(I)) { in HandleInlinedEHPad() local
734 if (CatchSwitch->unwindsToCaller()) { in HandleInlinedEHPad()
[all …]
H A DLocal.cpp3148 } else if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(Terminator)) { in markAliveBlocks() local
3178 for (CatchSwitchInst::handler_iterator I = CatchSwitch->handler_begin(), in markAliveBlocks()
3179 E = CatchSwitch->handler_end(); in markAliveBlocks()
3188 CatchSwitch->removeHandler(I); in markAliveBlocks()
3223 } else if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(TI)) { in removeUnwindEdge() local
3225 CatchSwitch->getParentPad(), nullptr, CatchSwitch->getNumHandlers(), in removeUnwindEdge()
3226 CatchSwitch->getName(), CatchSwitch->getIterator()); in removeUnwindEdge()
3227 for (BasicBlock *PadBB : CatchSwitch->handlers()) in removeUnwindEdge()
3231 UnwindDest = CatchSwitch->getUnwindDest(); in removeUnwindEdge()
H A DBasicBlockUtils.cpp754 else if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(PadInst)) in ehAwareSplitEdge() local
755 ParentPad = CatchSwitch->getParentPad(); in ehAwareSplitEdge()
/freebsd/contrib/llvm-project/llvm/include/llvm/SandboxIR/
H A DValues.def87 DEF_INSTR(CatchSwitch, OP(CatchSwitch), CatchSwitchInst)
H A DInstruction.h1758 : SingleLLVMInstructionImpl(ClassID::CatchSwitch, Opcode::CatchSwitch, in CatchSwitchInst()
1842 return From->getSubclassID() == ClassID::CatchSwitch; in classof()
/freebsd/contrib/llvm-project/clang/lib/CodeGen/
H A DCGException.cpp980 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()
1253 auto *CatchSwitch = in ExitCXXTryStmt() local
1255 WasmCatchStartBlock = CatchSwitch->hasUnwindDest() in ExitCXXTryStmt()
1256 ? CatchSwitch->getSuccessor(1) in ExitCXXTryStmt()
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/
H A DInstruction.h389 case Instruction::CatchSwitch:
880 case Instruction::CatchSwitch:
H A DInstruction.def136 HANDLE_TERM_INST (10, CatchSwitch , CatchSwitchInst)
H A DInstructions.h4252 return I->getOpcode() == Instruction::CatchSwitch;
4298 explicit CatchPadInst(Value *CatchSwitch, ArrayRef<Value *> Args,
4301 : FuncletPadInst(Instruction::CatchPad, CatchSwitch, Args, AllocInfo,
4305 static CatchPadInst *Create(Value *CatchSwitch, ArrayRef<Value *> Args,
4310 CatchPadInst(CatchSwitch, Args, AllocMarker, NameStr, InsertBefore);
4317 void setCatchSwitch(Value *CatchSwitch) {
4318 assert(CatchSwitch);
4319 Op<-1>() = CatchSwitch;
/freebsd/contrib/llvm-project/llvm/lib/IR/
H A DVerifier.cpp615 void visitCatchSwitchInst(CatchSwitchInst &CatchSwitch);
4872 if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(FPI.getParentPad())) { in visitFuncletPadInst() local
4873 BasicBlock *SwitchUnwindDest = CatchSwitch->getUnwindDest(); in visitFuncletPadInst()
4882 &FPI, FirstUser, CatchSwitch); in visitFuncletPadInst()
4889 void Verifier::visitCatchSwitchInst(CatchSwitchInst &CatchSwitch) { in visitCatchSwitchInst() argument
4890 BasicBlock *BB = CatchSwitch.getParent(); in visitCatchSwitchInst()
4895 &CatchSwitch); in visitCatchSwitchInst()
4899 Check(&*BB->getFirstNonPHIIt() == &CatchSwitch, in visitCatchSwitchInst()
4901 &CatchSwitch); in visitCatchSwitchInst()
4903 auto *ParentPad = CatchSwitch.getParentPad(); in visitCatchSwitchInst()
[all …]
H A DInstruction.cpp775 case CatchSwitch: return "catchswitch"; in getOpcodeName()
1177 case Instruction::CatchSwitch: in mayThrow()
H A DCore.cpp3555 void LLVMAddHandler(LLVMValueRef CatchSwitch, LLVMBasicBlockRef Dest) { in LLVMAddHandler() argument
3556 unwrap<CatchSwitchInst>(CatchSwitch)->addHandler(unwrap(Dest)); in LLVMAddHandler()
3559 unsigned LLVMGetNumHandlers(LLVMValueRef CatchSwitch) { in LLVMGetNumHandlers() argument
3560 return unwrap<CatchSwitchInst>(CatchSwitch)->getNumHandlers(); in LLVMGetNumHandlers()
3563 void LLVMGetHandlers(LLVMValueRef CatchSwitch, LLVMBasicBlockRef *Handlers) { in LLVMGetHandlers() argument
3564 CatchSwitchInst *CSI = unwrap<CatchSwitchInst>(CatchSwitch); in LLVMGetHandlers()
3573 void LLVMSetParentCatchSwitch(LLVMValueRef CatchPad, LLVMValueRef CatchSwitch) { in LLVMSetParentCatchSwitch() argument
3575 ->setCatchSwitch(unwrap<CatchSwitchInst>(CatchSwitch)); in LLVMSetParentCatchSwitch()
H A DAsmWriter.cpp4548 } else if (const auto *CatchSwitch = dyn_cast<CatchSwitchInst>(&I)) { in printInstruction() local
4550 writeOperand(CatchSwitch->getParentPad(), /*PrintType=*/false); in printInstruction()
4553 for (const BasicBlock *PadBB : CatchSwitch->handlers()) { in printInstruction()
4560 if (const BasicBlock *UnwindDest = CatchSwitch->getUnwindDest()) in printInstruction()
H A DInstructions.cpp1087 : Instruction(ParentPad->getType(), Instruction::CatchSwitch, AllocMarker, in CatchSwitchInst()
1096 : Instruction(CSI.getType(), Instruction::CatchSwitch, AllocMarker) { in CatchSwitchInst()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/SandboxVectorizer/
H A DLegality.cpp181 case Instruction::Opcode::CatchSwitch: in notVectorizableBasedOnOpcodesAndTypes()
/freebsd/contrib/llvm-project/llvm/include/llvm-c/
H A DCore.h4479 LLVM_C_ABI void LLVMAddHandler(LLVMValueRef CatchSwitch,
4483 LLVM_C_ABI unsigned LLVMGetNumHandlers(LLVMValueRef CatchSwitch);
4496 LLVM_C_ABI void LLVMGetHandlers(LLVMValueRef CatchSwitch,
4525 LLVMValueRef CatchSwitch);
/freebsd/contrib/llvm-project/llvm/lib/Bitcode/Writer/
H A DBitcodeWriter.cpp3339 case Instruction::CatchSwitch: { in writeInstruction()
3341 const auto &CatchSwitch = cast<CatchSwitchInst>(I); in writeInstruction() local
3343 pushValue(CatchSwitch.getParentPad(), InstID, Vals); in writeInstruction()
3345 unsigned NumHandlers = CatchSwitch.getNumHandlers(); in writeInstruction()
3347 for (const BasicBlock *CatchPadBB : CatchSwitch.handlers()) in writeInstruction()
3350 if (CatchSwitch.hasUnwindDest()) in writeInstruction()
3351 Vals.push_back(VE.getValueID(CatchSwitch.getUnwindDest())); in writeInstruction()
/freebsd/contrib/llvm-project/llvm/lib/AsmParser/
H A DLLLexer.cpp960 INSTKEYWORD(catchswitch, CatchSwitch); in LexIdentifier()
H A DLLParser.cpp7814 auto *CatchSwitch = in parseCatchSwitch() local
7817 CatchSwitch->addHandler(DestBB); in parseCatchSwitch()
7818 Inst = CatchSwitch; in parseCatchSwitch()
7825 Value *CatchSwitch = nullptr; in parseCatchPad() local
7833 if (parseValue(Type::getTokenTy(Context), CatchSwitch, PFS)) in parseCatchPad()
7840 Inst = CatchPadInst::Create(CatchSwitch, Args); in parseCatchPad()
/freebsd/contrib/llvm-project/llvm/lib/SandboxIR/
H A DContext.cpp189 case llvm::Instruction::CatchSwitch: { in getOrCreateValueInternal()
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/
H A DIRTranslator.cpp2899 if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(Pad)) { in findUnwindDestinations() local
2901 for (const BasicBlock *CatchPadBB : CatchSwitch->handlers()) { in findUnwindDestinations()
2909 NewEHPadBB = CatchSwitch->getUnwindDest(); in findUnwindDestinations()

12