|
reference, declaration → definition
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)) {