|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
Declarations
include/llvm/IR/Instruction.def 200 HANDLE_FUNCLETPAD_INST(51, CleanupPad, CleanupPadInst)
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h 55 class CleanupPadInst;
References
include/llvm/IR/IRBuilder.h 845 InstTy *Insert(InstTy *I, const Twine &Name = "") const {
845 InstTy *Insert(InstTy *I, const Twine &Name = "") const {
1038 CleanupReturnInst *CreateCleanupRet(CleanupPadInst *CleanupPad,
1055 CleanupPadInst *CreateCleanupPad(Value *ParentPad,
1058 return Insert(CleanupPadInst::Create(ParentPad, Args), Name);
include/llvm/IR/InstVisitor.h 200 RetTy visitCleanupPadInst(CleanupPadInst &I) { DELEGATE(FuncletPadInst); }
include/llvm/IR/Instructions.h 4407 static CleanupPadInst *Create(Value *ParentPad, ArrayRef<Value *> Args = None,
4412 CleanupPadInst(ParentPad, Args, Values, NameStr, InsertBefore);
4415 static CleanupPadInst *Create(Value *ParentPad, ArrayRef<Value *> Args,
4419 CleanupPadInst(ParentPad, Args, Values, NameStr, InsertAtEnd);
4611 CleanupPadInst *getCleanupPad() const {
4612 return cast<CleanupPadInst>(Op<0>());
4614 void setCleanupPad(CleanupPadInst *CleanupPad) {
include/llvm/Support/Casting.h 58 return To::classof(&Val);
92 return isa_impl<To, From>::doit(*Val);
106 return isa_impl<To, From>::doit(*Val);
122 return isa_impl_wrap<To, SimpleFrom,
132 return isa_impl_cl<To,FromTy>::doit(Val);
142 return isa_impl_wrap<X, const Y,
172 using ret_type = To *; // Pointer arg case, return Ty*
176 using ret_type = const To *; // Constant pointer arg case, return const Ty*
198 using ret_type = typename cast_retty<To, SimpleFrom>::ret_type;
204 using ret_type = typename cast_retty_impl<To,FromTy>::ret_type;
210 To, From, typename simplify_type<From>::SimpleType>::ret_type;
218 static typename cast_retty<To, From>::ret_type doit(From &Val) {
219 return cast_convert_val<To, SimpleFrom,
227 static typename cast_retty<To, FromTy>::ret_type doit(const FromTy &Val) {
228 typename cast_retty<To, FromTy>::ret_type Res2
248 typename cast_retty<X, const Y>::ret_type>::type
252 X, const Y, typename simplify_type<const Y>::SimpleType>::doit(Val);
256 inline typename cast_retty<X, Y>::ret_type cast(Y &Val) {
258 return cast_convert_val<X, Y,
263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
265 return cast_convert_val<X, Y*,
331 typename cast_retty<X, const Y>::ret_type>::type
337 LLVM_NODISCARD inline typename cast_retty<X, Y>::ret_type dyn_cast(Y &Val) {
338 return isa<X>(Val) ? cast<X>(Val) : nullptr;
338 return isa<X>(Val) ? cast<X>(Val) : nullptr;
342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
343 return isa<X>(Val) ? cast<X>(Val) : nullptr;
343 return isa<X>(Val) ? cast<X>(Val) : nullptr;
366 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
368 return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
368 return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
lib/AsmParser/LLParser.cpp 6316 Inst = CleanupPadInst::Create(ParentPad, Args);
lib/Bitcode/Reader/BitcodeReader.cpp 4351 I = CleanupPadInst::Create(ParentPad, Args);
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp 1634 void SelectionDAGBuilder::visitCleanupPad(const CleanupPadInst &CPI) {
1656 if (isa<CleanupPadInst>(Pad)) {
1709 } else if (isa<CleanupPadInst>(Pad)) {
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h 640 void visitCleanupPad(const CleanupPadInst &CPI);
lib/CodeGen/WasmEHPrepare.cpp 213 else if (isa<CleanupPadInst>(Pad))
lib/CodeGen/WinEHPrepare.cpp 165 static BasicBlock *getCleanupRetUnwindDest(const CleanupPadInst *CleanupPad) {
193 else if (auto *CleanupPad = dyn_cast<CleanupPadInst>(FuncletPad))
193 else if (auto *CleanupPad = dyn_cast<CleanupPadInst>(FuncletPad))
229 auto *CleanupPad = cast<CleanupReturnInst>(TI)->getCleanupPad();
270 if (auto *InnerCleanupPad = dyn_cast<CleanupPadInst>(UserI)) {
288 auto *CleanupPad = cast<CleanupPadInst>(FirstNonPHI);
380 if (auto *InnerCleanupPad = dyn_cast<CleanupPadInst>(UserI)) {
390 auto *CleanupPad = cast<CleanupPadInst>(FirstNonPHI);
419 if (auto *CleanupPad = dyn_cast<CleanupPadInst>(EHPad))
510 if (const auto *CPI = dyn_cast<CleanupPadInst>(FirstNonPHI))
510 if (const auto *CPI = dyn_cast<CleanupPadInst>(FirstNonPHI))
531 if (const auto *Cleanup = dyn_cast<CleanupPadInst>(Pad)) {
531 if (const auto *Cleanup = dyn_cast<CleanupPadInst>(Pad)) {
599 const auto *Cleanup = cast<CleanupPadInst>(Pad);
599 const auto *Cleanup = cast<CleanupPadInst>(Pad);
615 } else if (auto *ChildCleanup = dyn_cast<CleanupPadInst>(U)) {
639 cast<CleanupPadInst>(UserUnwindPad)->getParentPad();
939 auto *CleanupPad = dyn_cast_or_null<CleanupPadInst>(FuncletPad);
939 auto *CleanupPad = dyn_cast_or_null<CleanupPadInst>(FuncletPad);
lib/IR/Core.cpp 3185 return wrap(unwrap(B)->CreateCleanupRet(unwrap<CleanupPadInst>(CatchPad),
lib/IR/Verifier.cpp 491 void visitCleanupPadInst(CleanupPadInst &CPI);
3743 void Verifier::visitCleanupPadInst(CleanupPadInst &CPI) {
3794 } else if (auto *CPI = dyn_cast<CleanupPadInst>(U)) {
3794 } else if (auto *CPI = dyn_cast<CleanupPadInst>(U)) {
3859 if (isa<CleanupPadInst>(&FPI) && !isa<ConstantTokenNone>(UnwindPad) &&
lib/Target/X86/X86WinEHState.cpp 738 if (isa<CleanupPadInst>(FuncletEntryBB->getFirstNonPHI()))
780 bool InCleanup = isa<CleanupPadInst>(FuncletEntryBB->getFirstNonPHI());
lib/Transforms/Coroutines/CoroFrame.cpp 557 auto *CleanupPad =
558 CleanupPadInst::Create(CatchSwitch->getParentPad(), {}, "", CurrentBlock);
862 auto *NewCleanupPad = CleanupPadInst::Create(ParentPad, {}, "", NewBB);
862 auto *NewCleanupPad = CleanupPadInst::Create(ParentPad, {}, "", NewBB);
lib/Transforms/Coroutines/CoroSplit.cpp 241 auto *FromPad = cast<CleanupPadInst>(Bundle->Inputs[0]);
241 auto *FromPad = cast<CleanupPadInst>(Bundle->Inputs[0]);
lib/Transforms/Scalar/SimpleLoopUnswitch.cpp 2610 if (isa<CleanupPadInst>(ExitBB->getFirstNonPHI())) {
lib/Transforms/Utils/CodeExtractor.cpp 159 if (const auto *CPI = dyn_cast<CleanupPadInst>(I)) {
159 if (const auto *CPI = dyn_cast<CleanupPadInst>(I)) {
lib/Transforms/Utils/InlineFunction.cpp 260 if (!isa<CleanupPadInst>(Child) && !isa<CatchSwitchInst>(Child))
288 auto *CleanupPad = cast<CleanupPadInst>(CurrentPad);
288 auto *CleanupPad = cast<CleanupPadInst>(CurrentPad);
300 } else if (isa<CleanupPadInst>(U) || isa<CatchSwitchInst>(U)) {
496 if (isa<CatchSwitchInst>(U) || isa<CleanupPadInst>(U))
509 if (isa<CatchSwitchInst>(U) || isa<CleanupPadInst>(U))
679 auto *CleanupPad = CRI->getCleanupPad();
1632 if (isa<CleanupPadInst>(CallSiteEHPad)) {
lib/Transforms/Utils/SimplifyCFG.cpp 3933 CleanupPadInst *CPInst = RI->getCleanupPad();
4073 auto *SuccessorCleanupPad = dyn_cast<CleanupPadInst>(&UnwindDest->front());
4073 auto *SuccessorCleanupPad = dyn_cast<CleanupPadInst>(&UnwindDest->front());
4077 CleanupPadInst *PredecessorCleanupPad = RI->getCleanupPad();
tools/clang/lib/CodeGen/CGCleanup.cpp 978 llvm::CleanupPadInst *CPI = nullptr;
tools/clang/lib/CodeGen/CodeGenFunction.h 600 return CurrentFuncletPad && isa<llvm::CleanupPadInst>(CurrentFuncletPad);