Home
last modified time | relevance | path

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

/freebsd-12.1/contrib/llvm/lib/CodeGen/
H A DWinEHPrepare.cpp224 if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(TI)) { in getEHPadFromPredecessor() local
225 if (CatchSwitch->getParentPad() != ParentPad) in getEHPadFromPredecessor()
243 assert(FuncInfo.EHPadStateMap.count(CatchSwitch) == 0 && in calculateCXXStateNumbers()
252 FuncInfo.EHPadStateMap[CatchSwitch] = TryLow; in calculateCXXStateNumbers()
350 assert(CatchSwitch->getNumHandlers() == 1 && in calculateSEHStateNumbers()
363 FuncInfo.EHPadStateMap[CatchSwitch] = TryState; in calculateSEHStateNumbers()
417 if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(EHPad)) in isTopLevelPadForMSVC() local
419 CatchSwitch->unwindsToCaller(); in isTopLevelPadForMSVC()
573 assert(CatchSwitch->getNumHandlers()); in calculateClrEHStateNumbers()
574 FuncInfo.EHPadStateMap[CatchSwitch] = CatchState; in calculateClrEHStateNumbers()
[all …]
H A DWasmEHPrepare.cpp405 if (const auto *CatchSwitch = dyn_cast<CatchSwitchInst>(UnwindPad)) in calculateWasmEHInfo() local
407 EHInfo.setEHPadUnwindDest(&BB, *CatchSwitch->handlers().begin()); in calculateWasmEHInfo()
424 if (const auto *CatchSwitch = dyn_cast<CatchSwitchInst>(UnwindPad)) in calculateWasmEHInfo() local
426 EHInfo.setThrowUnwindDest(&BB, *CatchSwitch->handlers().begin()); in calculateWasmEHInfo()
H A DTargetLoweringBase.cpp1455 case CatchSwitch: return 0; in InstructionOpcodeToISD()
/freebsd-12.1/contrib/llvm/lib/Transforms/Utils/
H A DInlineFunction.cpp248 if (CatchSwitch->hasUnwindDest()) { in getUnwindDestTokenHelper()
257 for (auto HI = CatchSwitch->handler_begin(), in getUnwindDestTokenHelper()
258 HE = CatchSwitch->handler_end(); in getUnwindDestTokenHelper()
706 if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(I)) { in HandleInlinedEHPad() local
707 if (CatchSwitch->unwindsToCaller()) { in HandleInlinedEHPad()
733 CatchSwitch->getParentPad(), UnwindDest, in HandleInlinedEHPad()
734 CatchSwitch->getNumHandlers(), CatchSwitch->getName(), in HandleInlinedEHPad()
735 CatchSwitch); in HandleInlinedEHPad()
736 for (BasicBlock *PadBB : CatchSwitch->handlers()) in HandleInlinedEHPad()
2062 if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(I)) { in InlineFunction() local
[all …]
H A DLocal.cpp2110 } else if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(Terminator)) { in markAliveBlocks() local
2139 for (CatchSwitchInst::handler_iterator I = CatchSwitch->handler_begin(), in markAliveBlocks()
2140 E = CatchSwitch->handler_end(); in markAliveBlocks()
2145 CatchSwitch->removeHandler(I); in markAliveBlocks()
2175 } else if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(TI)) { in removeUnwindEdge() local
2177 CatchSwitch->getParentPad(), nullptr, CatchSwitch->getNumHandlers(), in removeUnwindEdge()
2178 CatchSwitch->getName(), CatchSwitch); in removeUnwindEdge()
2179 for (BasicBlock *PadBB : CatchSwitch->handlers()) in removeUnwindEdge()
2183 UnwindDest = CatchSwitch->getUnwindDest(); in removeUnwindEdge()
/freebsd-12.1/contrib/llvm/lib/Transforms/Coroutines/
H A DCoroFrame.cpp438 static Instruction *splitBeforeCatchSwitch(CatchSwitchInst *CatchSwitch) { in splitBeforeCatchSwitch() argument
439 BasicBlock *CurrentBlock = CatchSwitch->getParent(); in splitBeforeCatchSwitch()
440 BasicBlock *NewBlock = CurrentBlock->splitBasicBlock(CatchSwitch); in splitBeforeCatchSwitch()
444 CleanupPadInst::Create(CatchSwitch->getParentPad(), {}, "", CurrentBlock); in splitBeforeCatchSwitch()
665 else if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(PadInst)) in ehAwareSplitEdge() local
666 ParentPad = CatchSwitch->getParentPad(); in ehAwareSplitEdge()
/freebsd-12.1/contrib/llvm/tools/clang/lib/CodeGen/
H A DCGException.cpp913 llvm::CatchSwitchInst *CatchSwitch = in emitCatchPadBlock() local
928 CatchSwitch, {TypeInfo.RTTI, CGF.Builder.getInt32(TypeInfo.Flags), in emitCatchPadBlock()
931 CGF.Builder.CreateCatchPad(CatchSwitch, {TypeInfo.RTTI}); in emitCatchPadBlock()
934 CatchSwitch->addHandler(Handler.Block); in emitCatchPadBlock()
957 llvm::CatchSwitchInst *CatchSwitch = in emitWasmCatchPadBlock() local
963 CatchSwitch->addHandler(WasmCatchStartBlock); in emitWasmCatchPadBlock()
975 auto *CPI = CGF.Builder.CreateCatchPad(CatchSwitch, CatchTypes); in emitWasmCatchPadBlock()
1181 auto *CatchSwitch = in ExitCXXTryStmt() local
1183 WasmCatchStartBlock = CatchSwitch->hasUnwindDest() in ExitCXXTryStmt()
1184 ? CatchSwitch->getSuccessor(1) in ExitCXXTryStmt()
[all …]
/freebsd-12.1/contrib/llvm/include/llvm/IR/
H A DInstruction.h195 case Instruction::CatchSwitch:
575 case Instruction::CatchSwitch:
H A DInstructions.h4077 return I->getOpcode() == Instruction::CatchSwitch;
4135 explicit CatchPadInst(Value *CatchSwitch, ArrayRef<Value *> Args,
4138 : FuncletPadInst(Instruction::CatchPad, CatchSwitch, Args, Values,
4140 explicit CatchPadInst(Value *CatchSwitch, ArrayRef<Value *> Args,
4143 : FuncletPadInst(Instruction::CatchPad, CatchSwitch, Args, Values,
4147 static CatchPadInst *Create(Value *CatchSwitch, ArrayRef<Value *> Args,
4152 CatchPadInst(CatchSwitch, Args, Values, NameStr, InsertBefore);
4159 CatchPadInst(CatchSwitch, Args, Values, NameStr, InsertAtEnd);
4166 void setCatchSwitch(Value *CatchSwitch) {
4167 assert(CatchSwitch);
[all …]
H A DInstruction.def137 HANDLE_TERM_INST (10, CatchSwitch , CatchSwitchInst)
/freebsd-12.1/contrib/llvm/lib/IR/
H A DVerifier.cpp3813 &FPI, FirstUser, CatchSwitch); in visitFuncletPadInst()
3821 BasicBlock *BB = CatchSwitch.getParent(); in visitCatchSwitchInst()
3826 &CatchSwitch); in visitCatchSwitchInst()
3830 Assert(BB->getFirstNonPHI() == &CatchSwitch, in visitCatchSwitchInst()
3832 &CatchSwitch); in visitCatchSwitchInst()
3834 auto *ParentPad = CatchSwitch.getParentPad(); in visitCatchSwitchInst()
3843 &CatchSwitch); in visitCatchSwitchInst()
3847 SiblingFuncletInfo[&CatchSwitch] = &CatchSwitch; in visitCatchSwitchInst()
3850 Assert(CatchSwitch.getNumHandlers() != 0, in visitCatchSwitchInst()
3858 visitEHPadPredecessors(CatchSwitch); in visitCatchSwitchInst()
[all …]
H A DInstruction.cpp304 case CatchSwitch: return "catchswitch"; in getOpcodeName()
591 if (const auto *CatchSwitch = dyn_cast<CatchSwitchInst>(this)) in mayThrow() local
592 return CatchSwitch->unwindsToCaller(); in mayThrow()
H A DCore.cpp3093 void LLVMAddHandler(LLVMValueRef CatchSwitch, LLVMBasicBlockRef Dest) { in LLVMAddHandler() argument
3094 unwrap<CatchSwitchInst>(CatchSwitch)->addHandler(unwrap(Dest)); in LLVMAddHandler()
3097 unsigned LLVMGetNumHandlers(LLVMValueRef CatchSwitch) { in LLVMGetNumHandlers() argument
3098 return unwrap<CatchSwitchInst>(CatchSwitch)->getNumHandlers(); in LLVMGetNumHandlers()
3101 void LLVMGetHandlers(LLVMValueRef CatchSwitch, LLVMBasicBlockRef *Handlers) { in LLVMGetHandlers() argument
3102 CatchSwitchInst *CSI = unwrap<CatchSwitchInst>(CatchSwitch); in LLVMGetHandlers()
3112 void LLVMSetParentCatchSwitch(LLVMValueRef CatchPad, LLVMValueRef CatchSwitch) { in LLVMSetParentCatchSwitch() argument
3114 ->setCatchSwitch(unwrap<CatchSwitchInst>(CatchSwitch)); in LLVMSetParentCatchSwitch()
H A DAsmWriter.cpp3708 } else if (const auto *CatchSwitch = dyn_cast<CatchSwitchInst>(&I)) { in printInstruction() local
3710 writeOperand(CatchSwitch->getParentPad(), /*PrintType=*/false); in printInstruction()
3713 for (const BasicBlock *PadBB : CatchSwitch->handlers()) { in printInstruction()
3720 if (const BasicBlock *UnwindDest = CatchSwitch->getUnwindDest()) in printInstruction()
H A DInstructions.cpp851 : Instruction(ParentPad->getType(), Instruction::CatchSwitch, nullptr, 0, in CatchSwitchInst()
862 : Instruction(ParentPad->getType(), Instruction::CatchSwitch, nullptr, 0, in CatchSwitchInst()
871 : Instruction(CSI.getType(), Instruction::CatchSwitch, nullptr, in CatchSwitchInst()
/freebsd-12.1/contrib/llvm/include/llvm-c/
H A DCore.h3460 void LLVMAddHandler(LLVMValueRef CatchSwitch, LLVMBasicBlockRef Dest);
3463 unsigned LLVMGetNumHandlers(LLVMValueRef CatchSwitch);
3476 void LLVMGetHandlers(LLVMValueRef CatchSwitch, LLVMBasicBlockRef *Handlers);
3502 void LLVMSetParentCatchSwitch(LLVMValueRef CatchPad, LLVMValueRef CatchSwitch);
/freebsd-12.1/contrib/llvm/lib/Bitcode/Writer/
H A DBitcodeWriter.cpp2764 case Instruction::CatchSwitch: { in writeInstruction()
2766 const auto &CatchSwitch = cast<CatchSwitchInst>(I); in writeInstruction() local
2768 pushValue(CatchSwitch.getParentPad(), InstID, Vals); in writeInstruction()
2770 unsigned NumHandlers = CatchSwitch.getNumHandlers(); in writeInstruction()
2772 for (const BasicBlock *CatchPadBB : CatchSwitch.handlers()) in writeInstruction()
2775 if (CatchSwitch.hasUnwindDest()) in writeInstruction()
2776 Vals.push_back(VE.getValueID(CatchSwitch.getUnwindDest())); in writeInstruction()
/freebsd-12.1/contrib/llvm/lib/AsmParser/
H A DLLLexer.cpp879 INSTKEYWORD(catchswitch, CatchSwitch); in LexIdentifier()
H A DLLParser.cpp6098 auto *CatchSwitch = in ParseCatchSwitch() local
6101 CatchSwitch->addHandler(DestBB); in ParseCatchSwitch()
6102 Inst = CatchSwitch; in ParseCatchSwitch()
6109 Value *CatchSwitch = nullptr; in ParseCatchPad() local
6117 if (ParseValue(Type::getTokenTy(Context), CatchSwitch, PFS)) in ParseCatchPad()
6124 Inst = CatchPadInst::Create(CatchSwitch, Args); in ParseCatchPad()
/freebsd-12.1/contrib/llvm/lib/Analysis/
H A DValueTracking.cpp3916 case Instruction::CatchSwitch: in isSafeToSpeculativelyExecute()
4295 if (const auto *CatchSwitch = dyn_cast<CatchSwitchInst>(I)) in isGuaranteedToTransferExecutionToSuccessor() local
4296 return !CatchSwitch->unwindsToCaller(); in isGuaranteedToTransferExecutionToSuccessor()
/freebsd-12.1/contrib/llvm/lib/Bitcode/Reader/
H A DBitcodeReader.cpp4012 auto *CatchSwitch = in parseFunctionBody() local
4015 CatchSwitch->addHandler(Handler); in parseFunctionBody()
4016 I = CatchSwitch; in parseFunctionBody()
/freebsd-12.1/contrib/llvm/lib/CodeGen/SelectionDAG/
H A DSelectionDAGBuilder.cpp1507 } else if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(Pad)) { in findUnwindDestinations() local
1509 for (const BasicBlock *CatchPadBB : CatchSwitch->handlers()) { in findUnwindDestinations()
1517 NewEHPadBB = CatchSwitch->getUnwindDest(); in findUnwindDestinations()