Home
last modified time | relevance | path

Searched refs:SwitchInst (Results 1 – 25 of 103) sorted by relevance

12345

/freebsd/contrib/llvm-project/llvm/lib/Transforms/Coroutines/
H A DCoroElide.cpp50 SmallPtrSet<const SwitchInst *, 4> CoroSuspendSwitches;
176 if (CSI->hasOneUse() && isa<SwitchInst>(CSI->use_begin()->getUser())) { in collectPostSplitCoroIds()
177 SwitchInst *SWI = cast<SwitchInst>(CSI->use_begin()->getUser()); in collectPostSplitCoroIds()
325 if (isa<SwitchInst>(TI) && in canCoroBeginEscape()
326 FEI.CoroSuspendSwitches.count(cast<SwitchInst>(TI))) { in canCoroBeginEscape()
327 Worklist.push_back(cast<SwitchInst>(TI)->getSuccessor(1)); in canCoroBeginEscape()
328 Worklist.push_back(cast<SwitchInst>(TI)->getSuccessor(2)); in canCoroBeginEscape()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DDFAJumpThreading.cpp395 MainSwitch(SwitchInst *SI, LoopInfo *LI, OptimizationRemarkEmitter *ORE) in MainSwitch()
409 SwitchInst *getInstr() const { return Instr; } in getInstr()
419 bool isCandidate(const SwitchInst *SI) { in isCandidate()
527 SwitchInst *Instr = nullptr;
539 SwitchInst *getSwitchInst() { return Switch; } in getSwitchInst()
750 SwitchInst *Switch;
779 SwitchInst *Switch = SwitchPaths->getSwitchInst(); in isLegalAndProfitableToTransform()
1091 SwitchInst *Switch = SwitchPaths->getSwitchInst(); in updateSuccessorPhis()
1164 isa<SwitchInst>(Inst)) { in updateDefMap()
1200 if (!isa<SwitchInst>(LastBlock->getTerminator())) in updateLastSuccessor()
[all …]
H A DLowerExpectIntrinsic.cpp76 static bool handleSwitchExpect(SwitchInst &SI) { in handleSwitchExpect()
91 SwitchInst::CaseHandle Case = *SI.findCaseValue(ExpectedValue); in handleSwitchExpect()
372 } else if (SwitchInst *SI = dyn_cast<SwitchInst>(BB.getTerminator())) { in lowerExpectIntrinsic()
H A DLoopSimplifyCFG.cpp63 if (SwitchInst *SI = dyn_cast<SwitchInst>(TI)) { in getOnlyLiveSuccessor()
356 SwitchInst *DummySwitch = in handleDeadExits()
H A DSimpleLoopUnswitch.cpp743 static bool unswitchTrivialSwitch(Loop &L, SwitchInst &SI, DominatorTree &DT, in unswitchTrivialSwitch()
847 all_of(drop_begin(SI.cases()), [&SI](const SwitchInst::CaseHandle &Case) { in unswitchTrivialSwitch()
870 auto *NewSI = SwitchInst::Create(LoopCond, NewPH, ExitCases.size(), OldPH); in unswitchTrivialSwitch()
1081 if (auto *SI = dyn_cast<SwitchInst>(CurrentTerm)) { in unswitchAllTrivialConditions()
1317 else if (auto *SI = dyn_cast<SwitchInst>(ClonedTerminator)) in buildClonedLoopBlocks()
2183 SwitchInst *SI = BI ? nullptr : cast<SwitchInst>(&TI); in unswitchNontrivialInvariants()
2437 SwitchInst *NewSI = cast<SwitchInst>(NewTI); in unswitchNontrivialInvariants()
2950 if (auto *SI = dyn_cast<SwitchInst>(B in collectUnswitchCandidates()
[all...]
H A DLoopDeletion.cpp374 } else if (SwitchInst *SI = dyn_cast<SwitchInst>(Term)) { in canProveExitOnFirstIteration()
/freebsd/contrib/llvm-project/clang/lib/CodeGen/
H A DCGCleanup.cpp314 llvm::SwitchInst *Switch, in ResolveAllBranchFixups()
351 static llvm::SwitchInst *TransitionToCleanupSwitch(CodeGenFunction &CGF, in TransitionToCleanupSwitch()
362 llvm::SwitchInst *Switch = in TransitionToCleanupSwitch()
363 llvm::SwitchInst::Create(Load, Br->getSuccessor(0), 4, Block); in TransitionToCleanupSwitch()
367 return cast<llvm::SwitchInst>(Term); in TransitionToCleanupSwitch()
399 llvm::SwitchInst *Switch = TransitionToCleanupSwitch(*this, BranchBB); in ResolveBranchFixups()
584 llvm::SwitchInst *Switch = cast<llvm::SwitchInst>(Term); in ForwardPrebranchedFallthrough()
612 llvm::SwitchInst *si = cast<llvm::SwitchInst>(use.getUser()); in destroyOptimisticNormalEntry()
913 llvm::SwitchInst *Switch = in PopCleanupBlock()
914 llvm::SwitchInst::Create(Load, Default, SwitchCapacity); in PopCleanupBlock()
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DSwitchLoweringUtils.h264 /// Vector of CaseBlock structures used to communicate SwitchInst code
268 /// Vector of JumpTable structures used to communicate SwitchInst code
272 /// Vector of BitTestBlock structures used to communicate SwitchInst code
276 void findJumpTables(CaseClusterVector &Clusters, const SwitchInst *SI,
281 unsigned Last, const SwitchInst *SI,
285 void findBitTestClusters(CaseClusterVector &Clusters, const SwitchInst *SI);
290 const SwitchInst *SI, CaseCluster &BTCluster);
/freebsd/contrib/llvm-project/llvm/lib/Target/SPIRV/
H A DSPIRVMergeRegionExitTargets.cpp61 if (auto *SI = dyn_cast<SwitchInst>(T)) { in gatherSuccessors()
122 if (auto *SI = dyn_cast<SwitchInst>(T)) { in replaceBranchTargets()
190 llvm::SwitchInst *Sw = Builder.CreateSwitch(node, SortedExitTargets[0], in runOnConvergenceRegionNoRecurse()
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
H A DPredicateInfo.h163 SwitchInst *Switch;
165 Value *CaseValue, SwitchInst *SI) in PredicateSwitch()
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DSparsePropagation.h334 if (!isa<SwitchInst>(TI)) { in getFeasibleSuccessors()
340 SwitchInst &SI = cast<SwitchInst>(TI); in getFeasibleSuccessors()
366 SwitchInst::CaseHandle Case = *SI.findCaseValue(cast<ConstantInt>(C)); in getFeasibleSuccessors()
H A DCFGPrinter.h239 if (const SwitchInst *SI = dyn_cast<SwitchInst>(Node->getTerminator())) {
247 auto Case = *SwitchInst::ConstCaseIt::fromSuccessorIndex(SI, SuccNo);
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/
H A DJumpThreading.h44 class SwitchInst; variable
162 bool tryToUnfoldSelect(SwitchInst *SI, BasicBlock *BB);
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/
H A DInstructions.h3054 class SwitchInst : public Instruction {
3061 SwitchInst(const SwitchInst &SI);
3067 SwitchInst(Value *Value, BasicBlock *Default, unsigned NumCases,
3080 SwitchInst *cloneImpl() const;
3098 friend class SwitchInst::CaseIteratorImpl<
3145 CaseHandleImpl<const SwitchInst, const ConstantInt, const BasicBlock>;
3148 : public CaseHandleImpl<SwitchInst, ConstantInt, BasicBlock> {
3149 friend class SwitchInst::CaseIteratorImpl<CaseHandle>;
3152 CaseHandle(SwitchInst *SI, ptrdiff_t Index) : CaseHandleImpl(SI, Index) {}
3236 static SwitchInst *Create(Value *Value, BasicBlock *Default,
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DLowerSwitch.cpp309 unsigned Clusterify(CaseVector &Cases, SwitchInst *SI) { in Clusterify()
351 void ProcessSwitchInst(SwitchInst *SI, in ProcessSwitchInst()
548 if (SwitchInst *SI = dyn_cast<SwitchInst>(Cur.getTerminator())) { in LowerSwitch()
H A DSimplifyCFG.cpp265 bool simplifySwitch(SwitchInst *SI, IRBuilder<> &Builder);
284 bool SimplifySwitchOnSelect(SwitchInst *SI, SelectInst *Select);
286 bool TurnSwitchRangeIntoICmp(SwitchInst *SI, IRBuilder<> &Builder);
759 if (SwitchInst *SI = dyn_cast<SwitchInst>(TI)) { in EraseTerminatorAndDCECond()
777 if (SwitchInst *SI = dyn_cast<SwitchInst>(TI)) { in isValueEqualityComparison()
804 if (SwitchInst *SI = dyn_cast<SwitchInst>(TI)) { in GetValueEqualityComparisonCases()
864 static void setBranchWeights(SwitchInst *SI, ArrayRef<uint32_t> Weights, in setBranchWeights()
952 SwitchInstProfUpdateWrapper SI = *cast<SwitchInst>(TI); in SimplifyEqualityComparisonWithOnlyPredecessor()
962 for (SwitchInst::CaseIt i = SI->case_end(), e = SI->case_begin(); i != e;) { in SimplifyEqualityComparisonWithOnlyPredecessor()
1332 SwitchInst *NewSI = Builder.CreateSwitch(CV, PredDefault, PredCases.size()); in PerformValueComparisonIntoPredecessorFolding()
[all …]
H A DMisExpect.cpp96 else if (auto *S = dyn_cast<SwitchInst>(I)) { in getInstCondition()
H A DPredicateInfo.cpp268 void processSwitch(SwitchInst *, BasicBlock *,
473 SwitchInst *SI, BasicBlock *BranchBB, in processSwitch()
512 } else if (auto *SI = dyn_cast<SwitchInst>(BranchBB->getTerminator())) { in buildPredicateInfo()
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DSwitchLoweringUtils.cpp47 const SwitchInst *SI, in findJumpTables()
194 const SwitchInst *SI, in buildJumpTable()
269 const SwitchInst *SI) { in findBitTestClusters()
369 const SwitchInst *SI, in buildBitTests()
H A DTypePromotion.cpp266 if (auto *Switch = dyn_cast<SwitchInst>(V)) in isSink()
516 if (!isa<ICmpInst>(I) && !isa<SwitchInst>(I)) { in PromoteTree()
563 if (auto *Switch = dyn_cast<SwitchInst>(I)) { in TruncateSinks()
665 } else if (auto *Switch = dyn_cast<SwitchInst>(I)) in Mutate()
/freebsd/contrib/llvm-project/llvm/tools/llvm-diff/lib/
H A DDifferenceEngine.cpp492 } else if (isa<SwitchInst>(L)) { in diff()
493 const SwitchInst *LI = cast<SwitchInst>(L); in diff()
494 const SwitchInst *RI = cast<SwitchInst>(R); in diff()
/freebsd/contrib/llvm-project/llvm/lib/IR/
H A DInstructions.cpp3908 void SwitchInst::init(Value *Value, BasicBlock *Default, unsigned NumReserved) { in init()
3922 SwitchInst::SwitchInst(Value *Value, BasicBlock *Default, unsigned NumCases, in SwitchInst() function in SwitchInst
3929 SwitchInst::SwitchInst(const SwitchInst &SI) in SwitchInst() function in SwitchInst
3944 void SwitchInst::addCase(ConstantInt *OnVal, BasicBlock *Dest) { in addCase()
3959 SwitchInst::CaseIt SwitchInst::removeCase(CaseIt I) { in removeCase()
3984 void SwitchInst::growOperands() { in growOperands()
4025 SwitchInst::CaseIt
4026 SwitchInstProfUpdateWrapper::removeCase(SwitchInst::CaseIt I) { in removeCase()
4092 SwitchInstProfUpdateWrapper::getSuccessorWeight(const SwitchInst &SI, in getSuccessorWeight()
4352 SwitchInst *SwitchInst::cloneImpl() const { return new SwitchInst(*this); } in cloneImpl()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/IPO/
H A DCrossDSOCFI.cpp123 SwitchInst *SI = IRB.CreateSwitch(&CallSiteTypeId, TrapBB, TypeIds.size()); in buildCFICheck()
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/
H A DSelectionDAGBuilder.h83 class SwitchInst; variable
215 peelDominantCaseCluster(const SwitchInst &SI,
506 void visitSwitch(const SwitchInst &I);
/freebsd/contrib/llvm-project/llvm/lib/Target/Lanai/
H A DLanaiAsmPrinter.cpp226 if (isa<SwitchInst>(B->getTerminator())) in isBlockOnlyReachableByFallthrough()

12345