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

Declarations

include/llvm/IR/Instruction.def
  136 HANDLE_TERM_INST  (10, CatchSwitch   , CatchSwitchInst)
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
   54 class CatchSwitchInst;

References

include/llvm/IR/IRBuilder.h
  845   InstTy *Insert(InstTy *I, const Twine &Name = "") const {
  845   InstTy *Insert(InstTy *I, const Twine &Name = "") const {
 1043   CatchSwitchInst *CreateCatchSwitch(Value *ParentPad, BasicBlock *UnwindBB,
 1046     return Insert(CatchSwitchInst::Create(ParentPad, UnwindBB, NumHandlers),
include/llvm/IR/InstVisitor.h
  258   RetTy visitCatchSwitchInst(CatchSwitchInst &I) {
include/llvm/IR/Instructions.h
 4227   CatchSwitchInst(const CatchSwitchInst &CSI);
 4255   CatchSwitchInst *cloneImpl() const;
 4258   static CatchSwitchInst *Create(Value *ParentPad, BasicBlock *UnwindDest,
 4262     return new CatchSwitchInst(ParentPad, UnwindDest, NumHandlers, NameStr,
 4266   static CatchSwitchInst *Create(Value *ParentPad, BasicBlock *UnwindDest,
 4269     return new CatchSwitchInst(ParentPad, UnwindDest, NumHandlers, NameStr,
 4464   CatchSwitchInst *getCatchSwitch() const {
 4465     return cast<CatchSwitchInst>(Op<-1>());
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
   58     return To::classof(&Val);
   77     return isa_impl<To, From>::doit(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,
  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) {
  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/Analysis/ScalarEvolutionExpander.cpp
   97   } else if (isa<CatchSwitchInst>(IP)) {
lib/Analysis/ValueTracking.cpp
 4252   if (const auto *CatchSwitch = dyn_cast<CatchSwitchInst>(I))
 4252   if (const auto *CatchSwitch = dyn_cast<CatchSwitchInst>(I))
lib/AsmParser/LLParser.cpp
 6267   auto *CatchSwitch =
 6268       CatchSwitchInst::Create(ParentPad, UnwindBB, Table.size());
lib/Bitcode/Reader/BitcodeReader.cpp
 4318       auto *CatchSwitch =
 4319           CatchSwitchInst::Create(ParentPad, UnwindDest, NumHandlers);
lib/Bitcode/Writer/BitcodeWriter.cpp
 2818     const auto &CatchSwitch = cast<CatchSwitchInst>(I);
 2818     const auto &CatchSwitch = cast<CatchSwitchInst>(I);
lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
  244       if (isa<CatchSwitchInst>(PadInst)) {
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
 1661     } else if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(Pad)) {
 1716     } else if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(Pad)) {
 1760 void SelectionDAGBuilder::visitCatchSwitch(const CatchSwitchInst &CSI) {
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
  637   void visitCatchSwitch(const CatchSwitchInst &I);
lib/CodeGen/WasmEHPrepare.cpp
  365       if (const auto *CatchSwitch = dyn_cast<CatchSwitchInst>(UnwindPad))
  365       if (const auto *CatchSwitch = dyn_cast<CatchSwitchInst>(UnwindPad))
lib/CodeGen/WinEHPrepare.cpp
  223   if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(TI)) {
  241   if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(FirstNonPHI)) {
  265         if (auto *InnerCatchSwitch = dyn_cast<CatchSwitchInst>(UserI)) {
  343   if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(FirstNonPHI)) {
  375       if (auto *InnerCatchSwitch = dyn_cast<CatchSwitchInst>(UserI)) {
  416   if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(EHPad))
  512     else if (const auto *CSI = dyn_cast<CatchSwitchInst>(FirstNonPHI))
  512     else if (const auto *CSI = dyn_cast<CatchSwitchInst>(FirstNonPHI))
  549       const auto *CatchSwitch = cast<CatchSwitchInst>(Pad);
  549       const auto *CatchSwitch = cast<CatchSwitchInst>(Pad);
  613         } else if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(U)) {
  635         if (auto *CSI = dyn_cast<CatchSwitchInst>(UserUnwindPad))
  697     if (DemoteCatchSwitchPHIOnly && !isa<CatchSwitchInst>(BB->getFirstNonPHI()))
lib/IR/AsmWriter.cpp
 3795   } else if (const auto *CatchSwitch = dyn_cast<CatchSwitchInst>(&I)) {
 3795   } else if (const auto *CatchSwitch = dyn_cast<CatchSwitchInst>(&I)) {
lib/IR/Core.cpp
 2866   } else if (CatchSwitchInst *CSI = dyn_cast<CatchSwitchInst>(unwrap(Invoke))) {
 2866   } else if (CatchSwitchInst *CSI = dyn_cast<CatchSwitchInst>(unwrap(Invoke))) {
 2879   } else if (CatchSwitchInst *CSI = dyn_cast<CatchSwitchInst>(unwrap(Invoke))) {
 2879   } else if (CatchSwitchInst *CSI = dyn_cast<CatchSwitchInst>(unwrap(Invoke))) {
 3224   unwrap<CatchSwitchInst>(CatchSwitch)->addHandler(unwrap(Dest));
 3228   return unwrap<CatchSwitchInst>(CatchSwitch)->getNumHandlers();
 3232   CatchSwitchInst *CSI = unwrap<CatchSwitchInst>(CatchSwitch);
 3232   CatchSwitchInst *CSI = unwrap<CatchSwitchInst>(CatchSwitch);
 3233   for (CatchSwitchInst::handler_iterator I = CSI->handler_begin(),
 3244     ->setCatchSwitch(unwrap<CatchSwitchInst>(CatchSwitch));
lib/IR/Instruction.cpp
  597   if (const auto *CatchSwitch = dyn_cast<CatchSwitchInst>(this))
  597   if (const auto *CatchSwitch = dyn_cast<CatchSwitchInst>(this))
lib/IR/Instructions.cpp
 1015 CatchSwitchInst::CatchSwitchInst(const CatchSwitchInst &CSI)
 4298 CatchSwitchInst *CatchSwitchInst::cloneImpl() const {
 4299   return new CatchSwitchInst(*this);
lib/IR/Verifier.cpp
  493   void visitCatchSwitchInst(CatchSwitchInst &CatchSwitch);
 2083   else if (auto *CSI = dyn_cast<CatchSwitchInst>(Terminator))
 2083   else if (auto *CSI = dyn_cast<CatchSwitchInst>(Terminator))
 3583   return cast<CatchSwitchInst>(EHPad)->getParentPad();
 3636     } else if (auto *CSI = dyn_cast<CatchSwitchInst>(TI)) {
 3636     } else if (auto *CSI = dyn_cast<CatchSwitchInst>(TI)) {
 3779       } else if (auto *CSI = dyn_cast<CatchSwitchInst>(U)) {
 3779       } else if (auto *CSI = dyn_cast<CatchSwitchInst>(U)) {
 3906     if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(FPI.getParentPad())) {
 3906     if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(FPI.getParentPad())) {
 3923 void Verifier::visitCatchSwitchInst(CatchSwitchInst &CatchSwitch) {
lib/Transforms/Coroutines/CoroFrame.cpp
  552 static Instruction *splitBeforeCatchSwitch(CatchSwitchInst *CatchSwitch) {
  692           if (auto *CSI = dyn_cast<CatchSwitchInst>(DefBlock->getTerminator()))
  692           if (auto *CSI = dyn_cast<CatchSwitchInst>(DefBlock->getTerminator()))
  799   else if (auto *CS = dyn_cast<CatchSwitchInst>(TI))
  799   else if (auto *CS = dyn_cast<CatchSwitchInst>(TI))
  857   else if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(PadInst))
  857   else if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(PadInst))
lib/Transforms/InstCombine/InstCombineCompares.cpp
  582         if (isa<CatchSwitchInst>(PN->getParent()->getTerminator()))
lib/Transforms/InstCombine/InstructionCombining.cpp
 3135   if (isa<CatchSwitchInst>(DestBlock->getTerminator()))
lib/Transforms/Instrumentation/InstrProfiling.cpp
  321           return isa<CatchSwitchInst>(Exit->getTerminator());
lib/Transforms/Instrumentation/MemorySanitizer.cpp
 3564   void visitCatchSwitchInst(CatchSwitchInst &I) {
lib/Transforms/ObjCARC/ObjCARCContract.cpp
  659             while (isa<CatchSwitchInst>(InsertBB->getFirstNonPHI())) {
lib/Transforms/ObjCARC/PtrState.cpp
  270       if (isa<CatchSwitchInst>(InsertAfter))
lib/Transforms/Scalar/IndVarSimplify.cpp
 1559         if (isa<CatchSwitchInst>(UsePhi->getParent()->getTerminator()))
lib/Transforms/Scalar/LICM.cpp
  411       return isa<CatchSwitchInst>(Exit->getTerminator());
 1336       if (isa<CatchSwitchInst>(BB->getTerminator()))
lib/Transforms/Scalar/LoopStrengthReduce.cpp
 3435         if (isa<CatchSwitchInst>(UserInst->getParent()->getTerminator()))
 5015     if (isa<CatchSwitchInst>(Tentative))
 5320           !isa<CatchSwitchInst>(BB->getTerminator())) {
 5525            isa<CatchSwitchInst>(FirstNonPHI))
 5527            if (isa<CatchSwitchInst>(PredBB->getFirstNonPHI()))
lib/Transforms/Scalar/Reassociate.cpp
  886         if (isa<CatchSwitchInst>(InsertPt))
lib/Transforms/Scalar/SCCP.cpp
  624   void visitCatchSwitchInst(CatchSwitchInst &CPI) {
lib/Transforms/Utils/CodeExtractor.cpp
  136     if (const auto *CSI = dyn_cast<CatchSwitchInst>(I)) {
  136     if (const auto *CSI = dyn_cast<CatchSwitchInst>(I)) {
lib/Transforms/Utils/InlineFunction.cpp
  221   return cast<CatchSwitchInst>(EHPad)->getParentPad();
  240     if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(CurrentPad)) {
  240     if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(CurrentPad)) {
  260             if (!isa<CleanupPadInst>(Child) && !isa<CatchSwitchInst>(Child))
  300         } else if (isa<CleanupPadInst>(U) || isa<CatchSwitchInst>(U)) {
  485     if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(UselessPad)) {
  485     if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(UselessPad)) {
  496           if (isa<CatchSwitchInst>(U) || isa<CleanupPadInst>(U))
  509         if (isa<CatchSwitchInst>(U) || isa<CleanupPadInst>(U))
  699     if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(I)) {
  699     if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(I)) {
  725         auto *NewCatchSwitch = CatchSwitchInst::Create(
  725         auto *NewCatchSwitch = CatchSwitchInst::Create(
 1636               if (isa<CatchSwitchInst>(CalledBB.getFirstNonPHI()))
 2101       if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(I)) {
 2101       if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(I)) {
lib/Transforms/Utils/Local.cpp
 2124     } else if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(Terminator)) {
 2124     } else if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(Terminator)) {
 2153       for (CatchSwitchInst::handler_iterator I = CatchSwitch->handler_begin(),
 2189   } else if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(TI)) {
 2189   } else if (auto *CatchSwitch = dyn_cast<CatchSwitchInst>(TI)) {
 2190     auto *NewCatchSwitch = CatchSwitchInst::Create(
 2190     auto *NewCatchSwitch = CatchSwitchInst::Create(
lib/Transforms/Utils/SimplifyCFG.cpp
 4261     } else if (auto *CSI = dyn_cast<CatchSwitchInst>(TI)) {
 4261     } else if (auto *CSI = dyn_cast<CatchSwitchInst>(TI)) {
 4268       for (CatchSwitchInst::handler_iterator I = CSI->handler_begin(),
lib/Transforms/Vectorize/SLPVectorizer.cpp
 4325             if (isa<CatchSwitchInst>(IncomingTerminator)) {
tools/clang/lib/CodeGen/Address.h
  108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/CodeGen/CGException.cpp
  910   llvm::CatchSwitchInst *CatchSwitch =
  954   llvm::CatchSwitchInst *CatchSwitch =
 1178     auto *CatchSwitch =
 1179         cast<llvm::CatchSwitchInst>(DispatchBlock->getFirstNonPHI());
unittests/Analysis/SparsePropagation.cpp
  528   CatchSwitchInst *CatchSwitch =