reference, declarationdefinition
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);