reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

Derived Classes

include/llvm/IR/Instructions.h
 4393 class CleanupPadInst : public FuncletPadInst {
 4434 class CatchPadInst : public FuncletPadInst {

Declarations

include/llvm/CodeGen/WinEHFuncInfo.h
   27 class FuncletPadInst;

References

include/llvm/ADT/SmallSet.h
  249 class SmallSet<PointeeType*, N> : public SmallPtrSet<PointeeType*, N> {};
include/llvm/CodeGen/WinEHFuncInfo.h
   92   DenseMap<const FuncletPadInst *, int> FuncletBaseStateMap;
include/llvm/IR/InstVisitor.h
  199   RetTy visitFuncletPadInst(FuncletPadInst &I) { DELEGATE(Instruction); }
include/llvm/IR/InstrTypes.h
 2136   FuncletPadInst(const FuncletPadInst &CPI);
 2153   FuncletPadInst *cloneImpl() const;
 2197     : public VariadicOperandTraits<FuncletPadInst, /*MINARITY=*/1> {};
include/llvm/IR/Instructions.h
 4393 class CleanupPadInst : public FuncletPadInst {
 4434 class CatchPadInst : public FuncletPadInst {
include/llvm/IR/OperandTraits.h
   69   static Use *op_begin(SubClass* U) {
   71         !std::is_polymorphic<SubClass>::value,
   75   static Use *op_end(SubClass* U) {
include/llvm/IR/User.h
  127   template <int Idx, typename U> static Use &OpFrom(const U *that) {
  129       ? OperandTraits<U>::op_end(const_cast<U*>(that))[Idx]
  130       : OperandTraits<U>::op_begin(const_cast<U*>(that))[Idx];
include/llvm/Support/Casting.h
   34   using SimpleType = From; // The real type this represents...
   37   static SimpleType &getSimplifiedValue(From &Val) { return Val; }
   41   using NonConstSimpleType = typename simplify_type<From>::SimpleType;
   47   static RetType getSimplifiedValue(const From& Val) {
   57   static inline bool doit(const From &Val) {
   58     return To::classof(&Val);
   76   static inline bool doit(const From &Val) {
   77     return isa_impl<To, From>::doit(Val);
   77     return isa_impl<To, From>::doit(Val);
   92     return isa_impl<To, From>::doit(*Val);
  104   static inline bool doit(const From *Val) {
  106     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);
  141 template <class X, class Y> LLVM_NODISCARD inline bool isa(const Y &Val) {
  142   return isa_impl_wrap<X, const Y,
  142   return isa_impl_wrap<X, const Y,
  143                        typename simplify_type<const Y>::SimpleType>::doit(Val);
  168   using ret_type = const To &; // Normal case, return Ty&
  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) {
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  265   return cast_convert_val<X, Y*,
  265   return cast_convert_val<X, Y*,
  266                           typename simplify_type<Y*>::SimpleType>::doit(Val);
  337 LLVM_NODISCARD inline typename cast_retty<X, Y>::ret_type dyn_cast(Y &Val) {
  342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
  342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
  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
  366 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
  367 dyn_cast_or_null(Y *Val) {
  368   return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
  368   return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
include/llvm/Support/PointerLikeTypeTraits.h
   56   static inline void *getAsVoidPointer(T *P) { return P; }
   57   static inline T *getFromVoidPointer(void *P) { return static_cast<T *>(P); }
   59   enum { NumLowBitsAvailable = detail::ConstantLog2<alignof(T)>::value };
   91   typedef PointerLikeTypeTraits<T *> NonConst;
   93   static inline const void *getAsVoidPointer(const T *P) {
   96   static inline const T *getFromVoidPointer(const void *P) {
include/llvm/Support/type_traits.h
   55 struct add_const_past_pointer { using type = const T; };
lib/Analysis/ScalarEvolutionExpander.cpp
   95   if (isa<FuncletPadInst>(IP) || isa<LandingPadInst>(IP)) {
lib/Bitcode/Writer/BitcodeWriter.cpp
 2805     const auto &FuncletPad = cast<FuncletPadInst>(I);
 2805     const auto &FuncletPad = cast<FuncletPadInst>(I);
lib/CodeGen/AsmPrinter/WinException.cpp
  912           cast<FuncletPadInst>(FuncletStart->getBasicBlock()->getFirstNonPHI());
lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
  249       if (isa<FuncletPadInst>(PadInst))
lib/CodeGen/WasmEHPrepare.cpp
  280   auto *FPI = cast<FuncletPadInst>(BB->getFirstNonPHI());
  280   auto *FPI = cast<FuncletPadInst>(BB->getFirstNonPHI());
lib/CodeGen/WinEHPrepare.cpp
  186     auto *FuncletPad =
  187         dyn_cast<FuncletPadInst>(FuncletEntryBB->getFirstNonPHI());
  937     auto *FuncletPad = dyn_cast<FuncletPadInst>(FirstNonPHI);
  937     auto *FuncletPad = dyn_cast<FuncletPadInst>(FirstNonPHI);
lib/IR/AsmWriter.cpp
 3811   } else if (const auto *FPI = dyn_cast<FuncletPadInst>(&I)) {
 3811   } else if (const auto *FPI = dyn_cast<FuncletPadInst>(&I)) {
lib/IR/Core.cpp
 2771   if (FuncletPadInst *FPI = dyn_cast<FuncletPadInst>(unwrap(Instr))) {
 2771   if (FuncletPadInst *FPI = dyn_cast<FuncletPadInst>(unwrap(Instr))) {
 3250   return wrap(unwrap<FuncletPadInst>(Funclet)->getArgOperand(i));
 3254   unwrap<FuncletPadInst>(Funclet)->setArgOperand(i, unwrap(value));
lib/IR/Instructions.cpp
 1082 FuncletPadInst::FuncletPadInst(const FuncletPadInst &FPI)
 1084                   OperandTraits<FuncletPadInst>::op_end(this) -
 1095                   OperandTraits<FuncletPadInst>::op_end(this) - Values, Values,
 1104                   OperandTraits<FuncletPadInst>::op_end(this) - Values, Values,
 4302 FuncletPadInst *FuncletPadInst::cloneImpl() const {
 4303   return new (getNumOperands()) FuncletPadInst(*this);
lib/IR/Verifier.cpp
  492   void visitFuncletPadInst(FuncletPadInst &FPI);
 3580   if (auto *FPI = dyn_cast<FuncletPadInst>(EHPad))
 3580   if (auto *FPI = dyn_cast<FuncletPadInst>(EHPad))
 3764 void Verifier::visitFuncletPadInst(FuncletPadInst &FPI) {
 3767   SmallVector<FuncletPadInst *, 8> Worklist({&FPI});
 3768   SmallSet<FuncletPadInst *, 8> Seen;
 3771     FuncletPadInst *CurrentPad = Worklist.pop_back_val();
lib/Target/X86/X86WinEHState.cpp
  523   if (auto *FuncletPad =
  524           dyn_cast<FuncletPadInst>(FuncletEntryBB->getFirstNonPHI())) {
lib/Transforms/Coroutines/CoroFrame.cpp
  855   if (auto *FuncletPad = dyn_cast<FuncletPadInst>(PadInst))
  855   if (auto *FuncletPad = dyn_cast<FuncletPadInst>(PadInst))
lib/Transforms/Instrumentation/MemorySanitizer.cpp
 3569   void visitFuncletPadInst(FuncletPadInst &I) {
lib/Transforms/Scalar/LoopStrengthReduce.cpp
 5524        if (isa<FuncletPadInst>(FirstNonPHI) ||
lib/Transforms/Utils/InlineFunction.cpp
  219   if (auto *FPI = dyn_cast<FuncletPadInst>(EHPad))
  219   if (auto *FPI = dyn_cast<FuncletPadInst>(EHPad))
  738     } else if (!isa<FuncletPadInst>(I)) {
 1624         CallSiteEHPad = cast<FuncletPadInst>(ParentFunclet->Inputs.front());
 2105         auto *FPI = cast<FuncletPadInst>(I);
 2105         auto *FPI = cast<FuncletPadInst>(I);
usr/include/c++/7.4.0/type_traits
  381     : public __is_pointer_helper<typename remove_cv<_Tp>::type>::type
 1554     { typedef _Tp     type; };
 1558     { typedef _Tp     type; };
 1563     { typedef _Tp     type; };
 1574       remove_const<typename remove_volatile<_Tp>::type>::type     type;
 1983     { typedef _Up     type; };