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

Declarations

include/llvm/Analysis/TargetTransformInfo.h
   52 class SwitchInst;
include/llvm/IR/Instruction.def
  129 HANDLE_TERM_INST  ( 3, Switch        , SwitchInst)
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
   82 class SwitchInst;
tools/clang/lib/CodeGen/CodeGenFunction.h
   48 class SwitchInst;

References

include/llvm/Analysis/CFGPrinter.h
  135     if (const SwitchInst *SI = dyn_cast<SwitchInst>(Node->getTerminator())) {
  135     if (const SwitchInst *SI = dyn_cast<SwitchInst>(Node->getTerminator())) {
  142       auto Case = *SwitchInst::ConstCaseIt::fromSuccessorIndex(SI, SuccNo);
include/llvm/Analysis/ScalarEvolution.h
 1581                                                  SwitchInst *Switch,
include/llvm/Analysis/SparsePropagation.h
  338   SwitchInst &SI = cast<SwitchInst>(TI);
  338   SwitchInst &SI = cast<SwitchInst>(TI);
  364   SwitchInst::CaseHandle Case = *SI.findCaseValue(cast<ConstantInt>(C));
include/llvm/Analysis/TargetTransformInfo.h
  299   unsigned getEstimatedNumberOfCaseClusters(const SwitchInst &SI,
 1179   virtual unsigned getEstimatedNumberOfCaseClusters(const SwitchInst &SI,
 1680   unsigned getEstimatedNumberOfCaseClusters(const SwitchInst &SI,
include/llvm/Analysis/TargetTransformInfoImpl.h
  116   unsigned getEstimatedNumberOfCaseClusters(const SwitchInst &SI,
include/llvm/CodeGen/BasicTTIImpl.h
  328   unsigned getEstimatedNumberOfCaseClusters(const SwitchInst &SI,
include/llvm/CodeGen/SwitchLoweringUtils.h
  266   void findJumpTables(CaseClusterVector &Clusters, const SwitchInst *SI,
  270                       unsigned Last, const SwitchInst *SI,
  274   void findBitTestClusters(CaseClusterVector &Clusters, const SwitchInst *SI);
  279                      const SwitchInst *SI, CaseCluster &BTCluster);
include/llvm/CodeGen/TargetLowering.h
 1032   virtual bool isSuitableForJumpTable(const SwitchInst *SI, uint64_t NumCases,
include/llvm/IR/IRBuilder.h
  845   InstTy *Insert(InstTy *I, const Twine &Name = "") const {
  845   InstTy *Insert(InstTy *I, const Twine &Name = "") const {
  865   InstTy *addBranchMetadata(InstTy *I, MDNode *Weights, MDNode *Unpredictable) {
  865   InstTy *addBranchMetadata(InstTy *I, MDNode *Weights, MDNode *Unpredictable) {
  928   SwitchInst *CreateSwitch(Value *V, BasicBlock *Dest, unsigned NumCases = 10,
  931     return Insert(addBranchMetadata(SwitchInst::Create(V, Dest, NumCases),
include/llvm/IR/InstVisitor.h
  240   RetTy visitSwitchInst(SwitchInst &I) {
include/llvm/IR/Instructions.h
 3126   SwitchInst(const SwitchInst &SI);
 3154   SwitchInst *cloneImpl() const;
 3175     using SwitchInstType = SwitchInstT;
 3177     SwitchInstT *SI;
 3181     CaseHandleImpl(SwitchInstT *SI, ptrdiff_t Index) : SI(SI), Index(Index) {}
 3217       CaseHandleImpl<const SwitchInst, const ConstantInt, const BasicBlock>;
 3220       : public CaseHandleImpl<SwitchInst, ConstantInt, BasicBlock> {
 3224     CaseHandle(SwitchInst *SI, ptrdiff_t Index) : CaseHandleImpl(SI, Index) {}
 3309   static SwitchInst *Create(Value *Value, BasicBlock *Default,
 3312     return new SwitchInst(Value, Default, NumCases, InsertBefore);
 3315   static SwitchInst *Create(Value *Value, BasicBlock *Default,
 3317     return new SwitchInst(Value, Default, NumCases, InsertAtEnd);
 3466   SwitchInst &SI;
 3471   static MDNode *getProfBranchWeightsMD(const SwitchInst &SI);
 3479   SwitchInst *operator->() { return &SI; }
 3480   SwitchInst &operator*() { return SI; }
 3481   operator SwitchInst *() { return &SI; }
 3483   SwitchInstProfUpdateWrapper(SwitchInst &SI) : SI(SI) { init(); }
 3492   SwitchInst::CaseIt removeCase(SwitchInst::CaseIt I);
 3492   SwitchInst::CaseIt removeCase(SwitchInst::CaseIt I);
 3505   static CaseWeightOpt getSuccessorWeight(const SwitchInst &SI, unsigned idx);
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,
  165   using ret_type = To &;       // Normal case, return Ty&
  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
  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*,
  305 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
  309   return cast<X>(Val);
  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;
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/Transforms/Scalar/JumpThreading.h
  145   bool TryToUnfoldSelect(SwitchInst *SI, BasicBlock *BB);
include/llvm/Transforms/Utils/PredicateInfo.h
  180   SwitchInst *Switch;
  182                   Value *CaseValue, SwitchInst *SI)
  234   void processSwitch(SwitchInst *, BasicBlock *, SmallVectorImpl<Value *> &);
lib/Analysis/BranchProbabilityInfo.cpp
  257   if (!(isa<BranchInst>(TI) || isa<SwitchInst>(TI) || isa<IndirectBrInst>(TI)))
lib/Analysis/DivergenceAnalysis.cpp
  117   if (auto *SwitchTerm = dyn_cast<SwitchInst>(&Term)) {
lib/Analysis/InlineCost.cpp
  285   bool visitSwitchInst(SwitchInst &SI);
 1434 bool CallAnalyzer::visitSwitchInst(SwitchInst &SI) {
 1874     } else if (SwitchInst *SI = dyn_cast<SwitchInst>(TI)) {
 1874     } else if (SwitchInst *SI = dyn_cast<SwitchInst>(TI)) {
lib/Analysis/LazyValueInfo.cpp
 1451   if (SwitchInst *SI = dyn_cast<SwitchInst>(BBFrom->getTerminator())) {
 1451   if (SwitchInst *SI = dyn_cast<SwitchInst>(BBFrom->getTerminator())) {
lib/Analysis/ScalarEvolution.cpp
 7152   if (SwitchInst *SI = dyn_cast<SwitchInst>(Term)) {
 7152   if (SwitchInst *SI = dyn_cast<SwitchInst>(Term)) {
 7456                                                       SwitchInst *Switch,
lib/Analysis/TargetTransformInfo.cpp
  197 TargetTransformInfo::getEstimatedNumberOfCaseClusters(const SwitchInst &SI,
lib/AsmParser/LLParser.cpp
 5988   SwitchInst *SI = SwitchInst::Create(Cond, DefaultBB, Table.size());
 5988   SwitchInst *SI = SwitchInst::Create(Cond, DefaultBB, Table.size());
lib/Bitcode/Reader/BitcodeReader.cpp
 4375         SwitchInst *SI = SwitchInst::Create(Cond, Default, NumCases);
 4375         SwitchInst *SI = SwitchInst::Create(Cond, Default, NumCases);
 4429       SwitchInst *SI = SwitchInst::Create(Cond, Default, NumCases);
 4429       SwitchInst *SI = SwitchInst::Create(Cond, Default, NumCases);
lib/Bitcode/Writer/BitcodeWriter.cpp
 2736       const SwitchInst &SI = cast<SwitchInst>(I);
 2736       const SwitchInst &SI = cast<SwitchInst>(I);
lib/CodeGen/CodeGenPrepare.cpp
  370     bool optimizeSwitchInst(SwitchInst *SI);
  695       !(isa<SwitchInst>(Pred->getTerminator()) ||
 6224 bool CodeGenPrepare::optimizeSwitchInst(SwitchInst *SI) {
 7058     return optimizeSwitchInst(cast<SwitchInst>(I));
lib/CodeGen/GlobalISel/IRTranslator.cpp
  438   const SwitchInst &SI = cast<SwitchInst>(U);
  438   const SwitchInst &SI = cast<SwitchInst>(U);
lib/CodeGen/IndirectBrExpandPass.cpp
  211   auto *SI = SwitchInst::Create(SwitchValue, BBs[0], BBs.size(), SwitchBB);
  211   auto *SI = SwitchInst::Create(SwitchValue, BBs[0], BBs.size(), SwitchBB);
lib/CodeGen/MachineVerifier.cpp
  667         BB && isa<SwitchInst>(BB->getTerminator())) &&
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
 9405     if (cast<Instruction>(U)->getParent() != &Entry || isa<SwitchInst>(U))
10443     const SwitchInst &SI, CaseClusterVector &Clusters,
10494 void SelectionDAGBuilder::visitSwitch(const SwitchInst &SI) {
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
  168   peelDominantCaseCluster(const SwitchInst &SI,
  633   void visitSwitch(const SwitchInst &I);
lib/CodeGen/SwitchLoweringUtils.cpp
   44                                               const SwitchInst *SI,
  187                                               const SwitchInst *SI,
  261                                                    const SwitchInst *SI) {
  361                                              const SwitchInst *SI,
lib/ExecutionEngine/Interpreter/Execution.cpp
  947 void Interpreter::visitSwitchInst(SwitchInst &I) {
lib/ExecutionEngine/Interpreter/Interpreter.h
  124   void visitSwitchInst(SwitchInst &I);
lib/IR/AsmWriter.cpp
 3728   } else if (isa<SwitchInst>(I)) {
 3729     const SwitchInst& SI(cast<SwitchInst>(I));
 3729     const SwitchInst& SI(cast<SwitchInst>(I));
lib/IR/Core.cpp
 2916   return wrap(unwrap<SwitchInst>(Switch)->getDefaultDest());
 3195   unwrap<SwitchInst>(Switch)->addCase(unwrap<ConstantInt>(OnVal), unwrap(Dest));
lib/IR/Instructions.cpp
 3828 SwitchInst::SwitchInst(const SwitchInst &SI)
 3858 SwitchInst::CaseIt SwitchInst::removeCase(CaseIt I) {
 3892 SwitchInstProfUpdateWrapper::getProfBranchWeightsMD(const SwitchInst &SI) {
 3937 SwitchInst::CaseIt
 3938 SwitchInstProfUpdateWrapper::removeCase(SwitchInst::CaseIt I) {
 4004 SwitchInstProfUpdateWrapper::getSuccessorWeight(const SwitchInst &SI,
 4266 SwitchInst *SwitchInst::cloneImpl() const { return new SwitchInst(*this); }
 4266 SwitchInst *SwitchInst::cloneImpl() const { return new SwitchInst(*this); }
lib/IR/Verifier.cpp
  470   void visitSwitchInst(SwitchInst &SI);
 2467 void Verifier::visitSwitchInst(SwitchInst &SI) {
 4035     else if (SwitchInst *SI = dyn_cast<SwitchInst>(&I))
 4035     else if (SwitchInst *SI = dyn_cast<SwitchInst>(&I))
lib/Target/AArch64/AArch64PromoteConstant.cpp
  293   if (isa<const SwitchInst>(Instr))
lib/Target/ARM/ARMCodeGenPrepare.cpp
  272   if (auto *Switch = dyn_cast<SwitchInst>(V))
  272   if (auto *Switch = dyn_cast<SwitchInst>(V))
  643     if (auto *Switch = dyn_cast<SwitchInst>(I)) {
  643     if (auto *Switch = dyn_cast<SwitchInst>(I)) {
  761     } else if (auto *Switch = dyn_cast<SwitchInst>(I))
  761     } else if (auto *Switch = dyn_cast<SwitchInst>(I))
lib/Target/Lanai/LanaiAsmPrinter.cpp
  223     if (isa<SwitchInst>(B->getTerminator()))
lib/Target/Mips/MipsAsmPrinter.cpp
  482     if (isa<SwitchInst>(bb->getTerminator()))
lib/Target/PowerPC/PPCTargetTransformInfo.cpp
  462     } else if (SwitchInst *SI = dyn_cast<SwitchInst>(J)) {
  462     } else if (SwitchInst *SI = dyn_cast<SwitchInst>(J)) {
lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
 1032       SwitchInst *SI = IRB.CreateSwitch(Label, Tail, SetjmpRetPHIs.size());
lib/Transforms/Coroutines/CoroInternal.h
  113     SwitchInst *ResumeSwitch;
lib/Transforms/Coroutines/CoroSplit.cpp
  286   auto *Switch =
  374   auto *Switch = cast<SwitchInst>(VMap[Shape.SwitchLowering.ResumeSwitch]);
  374   auto *Switch = cast<SwitchInst>(VMap[Shape.SwitchLowering.ResumeSwitch]);
  924     } else if (auto *SI = dyn_cast<SwitchInst>(I)) {
  924     } else if (auto *SI = dyn_cast<SwitchInst>(I)) {
lib/Transforms/IPO/CrossDSOCFI.cpp
  141   SwitchInst *SI = IRB.CreateSwitch(&CallSiteTypeId, TrapBB, TypeIds.size());
lib/Transforms/IPO/PartialInlining.cpp
  881     if (SwitchInst *SI = dyn_cast<SwitchInst>(&I)) {
  881     if (SwitchInst *SI = dyn_cast<SwitchInst>(&I)) {
lib/Transforms/IPO/SampleProfile.cpp
 1459     if (!isa<BranchInst>(TI) && !isa<SwitchInst>(TI))
lib/Transforms/InstCombine/InstCombineInternal.h
  439   Instruction *visitSwitchInst(SwitchInst &SI);
lib/Transforms/InstCombine/InstructionCombining.cpp
 2592 Instruction *InstCombiner::visitSwitchInst(SwitchInst &SI) {
 3453     } else if (SwitchInst *SI = dyn_cast<SwitchInst>(TI)) {
 3453     } else if (SwitchInst *SI = dyn_cast<SwitchInst>(TI)) {
lib/Transforms/Instrumentation/PGOInstrumentation.cpp
 1296     if (!(isa<BranchInst>(TI) || isa<SwitchInst>(TI) ||
lib/Transforms/Instrumentation/PGOMemOPSizeOpt.cpp
  356   SwitchInst *SI = IRB.CreateSwitch(SizeVar, DefaultBB, SizeIds.size());
lib/Transforms/Instrumentation/SanitizerCoverage.cpp
  617         if (isa<SwitchInst>(&Inst))
  747     if (SwitchInst *SI = dyn_cast<SwitchInst>(I)) {
  747     if (SwitchInst *SI = dyn_cast<SwitchInst>(I)) {
lib/Transforms/Scalar/ADCE.cpp
  336   if (RemoveControlFlowFlag && (isa<BranchInst>(I) || isa<SwitchInst>(I)))
lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
  336 static bool processSwitch(SwitchInst *I, LazyValueInfo *LVI,
  891       BBChanged |= processSwitch(cast<SwitchInst>(Term), LVI, DT);
lib/Transforms/Scalar/GVN.cpp
 2012   if (SwitchInst *SI = dyn_cast<SwitchInst>(I)) {
 2012   if (SwitchInst *SI = dyn_cast<SwitchInst>(I)) {
 2022     for (SwitchInst::CaseIt i = SI->case_begin(), e = SI->case_end();
lib/Transforms/Scalar/GVNSink.cpp
  767     if (isa<BranchInst>(T) || isa<SwitchInst>(T))
lib/Transforms/Scalar/IndVarSimplify.cpp
  782         } else if (auto *SI = dyn_cast<SwitchInst>(TermInst))
  782         } else if (auto *SI = dyn_cast<SwitchInst>(TermInst))
lib/Transforms/Scalar/JumpThreading.cpp
  491     if (isa<SwitchInst>(StopAt))
 1067   } else if (SwitchInst *SI = dyn_cast<SwitchInst>(Terminator)) {
 1067   } else if (SwitchInst *SI = dyn_cast<SwitchInst>(Terminator)) {
 1193   if (SwitchInst *SI = dyn_cast<SwitchInst>(BB->getTerminator()))
 1193   if (SwitchInst *SI = dyn_cast<SwitchInst>(BB->getTerminator()))
 1639     } else if (SwitchInst *SI = dyn_cast<SwitchInst>(BB->getTerminator())) {
 1639     } else if (SwitchInst *SI = dyn_cast<SwitchInst>(BB->getTerminator())) {
 2459 bool JumpThreadingPass::TryToUnfoldSelect(SwitchInst *SI, BasicBlock *BB) {
lib/Transforms/Scalar/LoopSimplifyCFG.cpp
   69   if (SwitchInst *SI = dyn_cast<SwitchInst>(TI)) {
   69   if (SwitchInst *SI = dyn_cast<SwitchInst>(TI)) {
  359     SwitchInst *DummySwitch =
lib/Transforms/Scalar/LoopUnrollPass.cpp
  579       } else if (SwitchInst *SI = dyn_cast<SwitchInst>(TI)) {
  579       } else if (SwitchInst *SI = dyn_cast<SwitchInst>(TI)) {
lib/Transforms/Scalar/LoopUnswitch.cpp
  104         DenseMap<const SwitchInst *, SmallPtrSet<const Value *, 8>>;
  153     void setUnswitched(const SwitchInst *SI, const Value *V);
  156     bool isUnswitched(const SwitchInst *SI, const Value *V);
  340 void LUAnalysisCache::setUnswitched(const SwitchInst *SI, const Value *V) {
  345 bool LUAnalysisCache::isUnswitched(const SwitchInst *SI, const Value *V) {
  377     const SwitchInst *OldInst = I->first;
  379     const SwitchInst *NewInst = cast_or_null<SwitchInst>(NewI);
  379     const SwitchInst *NewInst = cast_or_null<SwitchInst>(NewI);
  749     } else if (SwitchInst *SI = dyn_cast<SwitchInst>(TI)) {
  749     } else if (SwitchInst *SI = dyn_cast<SwitchInst>(TI)) {
 1104     } else if (SwitchInst *SI = dyn_cast<SwitchInst>(CurrentTerm)) {
 1104     } else if (SwitchInst *SI = dyn_cast<SwitchInst>(CurrentTerm)) {
 1163   } else if (SwitchInst *SI = dyn_cast<SwitchInst>(CurrentTerm)) {
 1163   } else if (SwitchInst *SI = dyn_cast<SwitchInst>(CurrentTerm)) {
 1513     SwitchInst *SI = dyn_cast<SwitchInst>(UI);
 1513     SwitchInst *SI = dyn_cast<SwitchInst>(UI);
 1519     SwitchInst::CaseHandle DeadCase =
lib/Transforms/Scalar/LowerExpectIntrinsic.cpp
   57 static bool handleSwitchExpect(SwitchInst &SI) {
   71   SwitchInst::CaseHandle Case = *SI.findCaseValue(ExpectedValue);
  329     } else if (SwitchInst *SI = dyn_cast<SwitchInst>(BB.getTerminator())) {
  329     } else if (SwitchInst *SI = dyn_cast<SwitchInst>(BB.getTerminator())) {
lib/Transforms/Scalar/NewGVN.cpp
 2501   } else if (auto *SI = dyn_cast<SwitchInst>(TI)) {
 2501   } else if (auto *SI = dyn_cast<SwitchInst>(TI)) {
lib/Transforms/Scalar/SCCP.cpp
  696   if (auto *SI = dyn_cast<SwitchInst>(&TI)) {
  696   if (auto *SI = dyn_cast<SwitchInst>(&TI)) {
 1725     if (auto *SI = dyn_cast<SwitchInst>(TI)) {
 1725     if (auto *SI = dyn_cast<SwitchInst>(TI)) {
 1974   if (SwitchInst *SI = dyn_cast<SwitchInst>(I)) {
 1974   if (SwitchInst *SI = dyn_cast<SwitchInst>(I)) {
lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
  572 static bool unswitchTrivialSwitch(Loop &L, SwitchInst &SI, DominatorTree &DT,
  676   auto *NewSI = SwitchInst::Create(LoopCond, NewPH, ExitCases.size(), OldPH);
  676   auto *NewSI = SwitchInst::Create(LoopCond, NewPH, ExitCases.size(), OldPH);
  884     if (auto *SI = dyn_cast<SwitchInst>(CurrentTerm)) {
  884     if (auto *SI = dyn_cast<SwitchInst>(CurrentTerm)) {
 1908   SwitchInst *SI = BI ? nullptr : cast<SwitchInst>(&TI);
 1908   SwitchInst *SI = BI ? nullptr : cast<SwitchInst>(&TI);
 2113       SwitchInst *NewSI = cast<SwitchInst>(NewTI);
 2113       SwitchInst *NewSI = cast<SwitchInst>(NewTI);
 2555     if (auto *SI = dyn_cast<SwitchInst>(BB->getTerminator())) {
 2555     if (auto *SI = dyn_cast<SwitchInst>(BB->getTerminator())) {
lib/Transforms/Scalar/TailRecursionElimination.cpp
  385     if (SwitchInst *SI = dyn_cast<SwitchInst>(UniquePred->getTerminator()))
  385     if (SwitchInst *SI = dyn_cast<SwitchInst>(UniquePred->getTerminator()))
lib/Transforms/Utils/CloneFunction.cpp
  403   } else if (const SwitchInst *SI = dyn_cast<SwitchInst>(OldTI)) {
  403   } else if (const SwitchInst *SI = dyn_cast<SwitchInst>(OldTI)) {
  411       SwitchInst::ConstCaseHandle Case = *SI->findCaseValue(Cond);
lib/Transforms/Utils/CodeExtractor.cpp
 1179   SwitchInst *TheSwitch =
 1180       SwitchInst::Create(Constant::getNullValue(Type::getInt16Ty(Context)),
lib/Transforms/Utils/Evaluator.cpp
  620       } else if (SwitchInst *SI = dyn_cast<SwitchInst>(CurInst)) {
  620       } else if (SwitchInst *SI = dyn_cast<SwitchInst>(CurInst)) {
lib/Transforms/Utils/Local.cpp
  159   if (auto *SI = dyn_cast<SwitchInst>(T)) {
  159   if (auto *SI = dyn_cast<SwitchInst>(T)) {
lib/Transforms/Utils/LowerSwitch.cpp
  101     void processSwitchInst(SwitchInst *SI,
  113     unsigned Clusterify(CaseVector &Cases, SwitchInst *SI);
  169     if (SwitchInst *SI = dyn_cast<SwitchInst>(Cur->getTerminator())) {
  169     if (SwitchInst *SI = dyn_cast<SwitchInst>(Cur->getTerminator())) {
  399 unsigned LowerSwitch::Clusterify(CaseVector& Cases, SwitchInst *SI) {
  440 void LowerSwitch::processSwitchInst(SwitchInst *SI,
lib/Transforms/Utils/PredicateInfo.cpp
  461 void PredicateInfo::processSwitch(SwitchInst *SI, BasicBlock *BranchBB,
  502     } else if (auto *SI = dyn_cast<SwitchInst>(BranchBB->getTerminator())) {
  502     } else if (auto *SI = dyn_cast<SwitchInst>(BranchBB->getTerminator())) {
lib/Transforms/Utils/SimplifyCFG.cpp
  200   bool SimplifySwitch(SwitchInst *SI, IRBuilder<> &Builder);
  683   if (SwitchInst *SI = dyn_cast<SwitchInst>(TI)) {
  683   if (SwitchInst *SI = dyn_cast<SwitchInst>(TI)) {
  701   if (SwitchInst *SI = dyn_cast<SwitchInst>(TI)) {
  701   if (SwitchInst *SI = dyn_cast<SwitchInst>(TI)) {
  728   if (SwitchInst *SI = dyn_cast<SwitchInst>(TI)) {
  728   if (SwitchInst *SI = dyn_cast<SwitchInst>(TI)) {
  788 static void setBranchWeights(SwitchInst *SI, ArrayRef<uint32_t> Weights) {
  869     SwitchInstProfUpdateWrapper SI = *cast<SwitchInst>(TI);
  878     for (SwitchInst::CaseIt i = SI->case_end(), e = SI->case_begin(); i != e;) {
 1176       SwitchInst *NewSI =
 1752     else if ((isa<BranchInst>(T) || isa<SwitchInst>(T)) && !Cond)
 3521 static bool SimplifySwitchOnSelect(SwitchInst *SI, SelectInst *Select) {
 3606   if (!Pred || !isa<SwitchInst>(Pred->getTerminator()))
 3609   SwitchInst *SI = cast<SwitchInst>(Pred->getTerminator());
 3609   SwitchInst *SI = cast<SwitchInst>(Pred->getTerminator());
 3784   SwitchInst *New = Builder.CreateSwitch(CompVal, DefaultBB, Values.size());
 4244     } else if (auto *SI = dyn_cast<SwitchInst>(TI)) {
 4244     } else if (auto *SI = dyn_cast<SwitchInst>(TI)) {
 4324 static void createUnreachableSwitchDefault(SwitchInst *Switch) {
 4337 static bool TurnSwitchRangeIntoICmp(SwitchInst *SI, IRBuilder<> &Builder) {
 4456 static bool eliminateDeadSwitchCases(SwitchInst *SI, AssumptionCache *AC,
 4501     SwitchInst::CaseIt CaseI = SI->findCaseValue(DeadCase);
 4548 static bool ForwardSwitchConditionToPHI(SwitchInst *SI) {
 4678 GetCaseResults(SwitchInst *SI, ConstantInt *CaseVal, BasicBlock *CaseDest,
 4768 InitializeUniqueCases(SwitchInst *SI, PHINode *&PHI, BasicBlock *&CommonDest,
 4862 static void RemoveSwitchAfterSelectConversion(SwitchInst *SI, PHINode *PHI,
 4886 static bool switchToSelect(SwitchInst *SI, IRBuilder<> &Builder,
 5165 ShouldBuildLookupTable(SwitchInst *SI, uint64_t TableSize,
 5291 static bool SwitchToLookupTable(SwitchInst *SI, IRBuilder<> &Builder,
 5318   SwitchInst::CaseIt CI = SI->case_begin();
 5331   for (SwitchInst::CaseIt E = SI->case_end(); CI != E; ++CI) {
 5550 static bool ReduceSwitchRange(SwitchInst *SI, IRBuilder<> &Builder,
 5633 bool SimplifyCFGOpt::SimplifySwitch(SwitchInst *SI, IRBuilder<> &Builder) {
 6101   } else if (auto *SI = dyn_cast<SwitchInst>(BB->getTerminator())) {
 6101   } else if (auto *SI = dyn_cast<SwitchInst>(BB->getTerminator())) {
tools/clang/lib/CodeGen/Address.h
  108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/CodeGen/CGAtomic.cpp
  457   llvm::SwitchInst *SI = CGF.Builder.CreateSwitch(FailureOrderVal, MonotonicBB);
  527       llvm::SwitchInst *SI = CGF.Builder.CreateSwitch(IsWeak, WeakBB);
  702   llvm::SwitchInst *SI = Builder.CreateSwitch(SC, BB[FallBack]);
 1278   llvm::SwitchInst *SI = Builder.CreateSwitch(Order, MonotonicBB);
tools/clang/lib/CodeGen/CGBuiltin.cpp
 2952     llvm::SwitchInst *SI = Builder.CreateSwitch(Order, BBs[0]);
 3017     llvm::SwitchInst *SI = Builder.CreateSwitch(Order, BBs[0]);
 3076     llvm::SwitchInst *SI = Builder.CreateSwitch(Order, ContBB);
tools/clang/lib/CodeGen/CGCleanup.cpp
  321                                    llvm::SwitchInst *Switch,
  358 static llvm::SwitchInst *TransitionToCleanupSwitch(CodeGenFunction &CGF,
  369     llvm::SwitchInst *Switch =
  370       llvm::SwitchInst::Create(Load, Br->getSuccessor(0), 4, Block);
  374     return cast<llvm::SwitchInst>(Term);
  406     llvm::SwitchInst *Switch = TransitionToCleanupSwitch(*this, BranchBB);
  591     llvm::SwitchInst *Switch = cast<llvm::SwitchInst>(Term);
  591     llvm::SwitchInst *Switch = cast<llvm::SwitchInst>(Term);
  619     llvm::SwitchInst *si = cast<llvm::SwitchInst>(use.getUser());
  619     llvm::SwitchInst *si = cast<llvm::SwitchInst>(use.getUser());
  865         llvm::SwitchInst *Switch =
  866           llvm::SwitchInst::Create(Load, Default, SwitchCapacity);
tools/clang/lib/CodeGen/CGCoroutine.cpp
  218   auto *Switch = Builder.CreateSwitch(SuspendResult, Coro.SuspendBB, 2);
tools/clang/lib/CodeGen/CGOpenMPRuntime.cpp
  137     llvm::SwitchInst *UntiedSwitch = nullptr;
 5802   llvm::SwitchInst *SwInst =
tools/clang/lib/CodeGen/CGStmt.cpp
 1587   llvm::SwitchInst *SavedSwitchInsn = SwitchInsn;
tools/clang/lib/CodeGen/CGStmtOpenMP.cpp
 2653       llvm::SwitchInst *SwitchStmt =
tools/clang/lib/CodeGen/CodeGenFunction.h
 1371   llvm::SwitchInst *SwitchInsn = nullptr;
tools/llvm-diff/DifferenceEngine.cpp
  325     } else if (isa<SwitchInst>(L)) {
  326       SwitchInst *LI = cast<SwitchInst>(L);
  326       SwitchInst *LI = cast<SwitchInst>(L);
  327       SwitchInst *RI = cast<SwitchInst>(R);
  327       SwitchInst *RI = cast<SwitchInst>(R);
tools/llvm-reduce/deltas/ReduceBasicBlocks.cpp
   65 static void removeUninterestingBBsFromSwitch(SwitchInst &SwInst,
  111       if (auto *SwInst = dyn_cast<SwitchInst>(BB.getTerminator()))
  111       if (auto *SwInst = dyn_cast<SwitchInst>(BB.getTerminator()))
tools/polly/include/polly/ScopBuilder.h
  182   bool buildConditionSets(BasicBlock *BB, SwitchInst *SI, Loop *L,
tools/polly/include/polly/ScopDetection.h
  419   bool isValidSwitch(BasicBlock &BB, SwitchInst *SI, Value *Condition,
tools/polly/lib/Analysis/ScopBuilder.cpp
  391     BasicBlock *BB, SwitchInst *SI, Loop *L, __isl_keep isl_set *Domain,
  565   if (SwitchInst *SI = dyn_cast<SwitchInst>(TI))
  565   if (SwitchInst *SI = dyn_cast<SwitchInst>(TI))
tools/polly/lib/Analysis/ScopDetection.cpp
  532 bool ScopDetection::isValidSwitch(BasicBlock &BB, SwitchInst *SI,
  662   SwitchInst *SI = dyn_cast<SwitchInst>(TI);
  662   SwitchInst *SI = dyn_cast<SwitchInst>(TI);
tools/polly/lib/Support/ScopHelper.cpp
  458   if (SwitchInst *SI = dyn_cast<SwitchInst>(TI))
  458   if (SwitchInst *SI = dyn_cast<SwitchInst>(TI))
unittests/Analysis/BranchProbabilityInfoTest.cpp
   73   auto *Switch = SwitchInst::Create(Undef, ExitBB, NumCases, EntryBB);
   73   auto *Switch = SwitchInst::Create(Undef, ExitBB, NumCases, EntryBB);
unittests/Analysis/DomTreeUpdaterTest.cpp
   71   SwitchInst *SI = dyn_cast<SwitchInst>(BB0->getTerminator());
   71   SwitchInst *SI = dyn_cast<SwitchInst>(BB0->getTerminator());
  646   SwitchInst *SI = dyn_cast<SwitchInst>(BB0->getTerminator());
  646   SwitchInst *SI = dyn_cast<SwitchInst>(BB0->getTerminator());
unittests/IR/CFGBuilder.cpp
   51   SwitchInst *SI = cast<SwitchInst>(From->getTerminator());
   51   SwitchInst *SI = cast<SwitchInst>(From->getTerminator());
   62   SwitchInst *SI = cast<SwitchInst>(From->getTerminator());
   62   SwitchInst *SI = cast<SwitchInst>(From->getTerminator());
  178   auto *DSwitch = cast<SwitchInst>(B.getOrAddBlock("d")->getTerminator());
  178   auto *DSwitch = cast<SwitchInst>(B.getOrAddBlock("d")->getTerminator());
  206   auto *DSwitch = cast<SwitchInst>(B.getOrAddBlock("d")->getTerminator());
  206   auto *DSwitch = cast<SwitchInst>(B.getOrAddBlock("d")->getTerminator());
unittests/IR/DominatorTreeTest.cpp
  486         auto SwitchC = cast<SwitchInst>(C->getTerminator());
  575         auto SwitchC = cast<SwitchInst>(C->getTerminator());
unittests/IR/InstructionsTest.cpp
  707   SwitchInst *SI =
  708       SwitchInst::Create(UndefValue::get(Int32Ty), BB0.get(), 3, BB0.get());
  732   SwitchInst::ConstCaseIt CCE = SI->case_end();
  770   SwitchInst *SI =
  771       SwitchInst::Create(UndefValue::get(Int32Ty), BB0.get(), 4, BB0.get());
utils/unittest/googletest/include/gtest/gtest-printers.h
  407                     T* p, ::std::ostream* os) {
  416     if (IsTrue(ImplicitlyConvertible<T*, const void*>::value)) {