Home
last modified time | relevance | path

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

12345

/freebsd/contrib/llvm-project/llvm/lib/Transforms/Coroutines/
H A DCoroElide.cpp50 SmallPtrSet<const SwitchInst *, 4> CoroSuspendSwitches;
160 if (CSI->hasOneUse() && isa<SwitchInst>(CSI->use_begin()->getUser())) { in collectPostSplitCoroIds()
161 SwitchInst *SWI = cast<SwitchInst>(CSI->use_begin()->getUser()); in collectPostSplitCoroIds()
309 if (isa<SwitchInst>(TI) && in canCoroBeginEscape()
310 FEI.CoroSuspendSwitches.count(cast<SwitchInst>(TI))) { in canCoroBeginEscape()
311 Worklist.push_back(cast<SwitchInst>(TI)->getSuccessor(1)); in canCoroBeginEscape()
312 Worklist.push_back(cast<SwitchInst>(TI)->getSuccessor(2)); in canCoroBeginEscape()
/freebsd/contrib/llvm-project/llvm/lib/SandboxIR/
H A DInstruction.cpp1092 SwitchInst *SwitchInst::create(Value *V, BasicBlock *Dest, unsigned NumCases, in create()
1096 llvm::SwitchInst *LLVMSwitch = in create()
1101 Value *SwitchInst::getCondition() const { in getCondition()
1102 return Ctx.getValue(cast<llvm::SwitchInst>(Val)->getCondition()); in getCondition()
1105 void SwitchInst::setCondition(Value *V) { in setCondition()
1108 GenericSetter<&SwitchInst::getCondition, &SwitchInst::setCondition>>( in setCondition()
1110 cast<llvm::SwitchInst>(Val)->setCondition(V->Val); in setCondition()
1113 BasicBlock *SwitchInst::getDefaultDest() const { in getDefaultDest()
1115 Ctx.getValue(cast<llvm::SwitchInst>(Val)->getDefaultDest())); in getDefaultDest()
1118 void SwitchInst::setDefaultDest(BasicBlock *DefaultCase) { in setDefaultDest()
[all …]
H A DContext.cpp202 auto *LLVMSwitchInst = cast<llvm::SwitchInst>(LLVMV); in getOrCreateValueInternal()
204 std::unique_ptr<SwitchInst>(new SwitchInst(LLVMSwitchInst, *this)); in getOrCreateValueInternal()
586 SwitchInst *Context::createSwitchInst(llvm::SwitchInst *I) { in createSwitchInst()
587 auto NewPtr = std::unique_ptr<SwitchInst>(new SwitchInst(I, *this)); in createSwitchInst()
588 return cast<SwitchInst>(registerValue(std::move(NewPtr))); in createSwitchInst()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DDFAJumpThreading.cpp424 MainSwitch(SwitchInst *SI, LoopInfo *LI, OptimizationRemarkEmitter *ORE) in MainSwitch()
438 SwitchInst *getInstr() const { return Instr; } in getInstr()
448 bool isCandidate(const SwitchInst *SI) { in isCandidate()
554 SwitchInst *Instr = nullptr;
566 SwitchInst *getSwitchInst() { return Switch; } in getSwitchInst()
790 SwitchInst *Switch;
820 SwitchInst *Switch = SwitchPaths->getSwitchInst(); in isLegalAndProfitableToTransform()
1131 SwitchInst *Switch = SwitchPaths->getSwitchInst(); in updateSuccessorPhis()
1204 isa<SwitchInst>(Inst)) { in updateDefMap()
1240 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()
371 SwitchInst *DummySwitch = in handleDeadExits()
H A DSimpleLoopUnswitch.cpp749 static bool unswitchTrivialSwitch(Loop &L, SwitchInst &SI, DominatorTree &DT, in unswitchTrivialSwitch()
852 all_of(drop_begin(SI.cases()), [&SI](const SwitchInst::CaseHandle &Case) { in unswitchTrivialSwitch()
875 auto *NewSI = SwitchInst::Create(LoopCond, NewPH, ExitCases.size(), OldPH); in unswitchTrivialSwitch()
1086 if (auto *SI = dyn_cast<SwitchInst>(CurrentTerm)) { in unswitchAllTrivialConditions()
1322 else if (auto *SI = dyn_cast<SwitchInst>(ClonedTerminator)) in buildClonedLoopBlocks()
2188 SwitchInst *SI = BI ? nullptr : cast<SwitchInst>(&TI); in unswitchNontrivialInvariants()
2443 SwitchInst *NewSI = cast<SwitchInst>(NewTI); in unswitchNontrivialInvariants()
2955 if (auto *SI = dyn_cast<SwitchInst>(BB->getTerminator())) { in collectUnswitchCandidates()
3482 assert(isa<BranchInst>(TI) || isa<SwitchInst>(TI)); in shouldInsertFreeze()
3495 Cond = skipTrivialSelect(cast<SwitchInst>(&TI)->getCondition()); in shouldInsertFreeze()
/freebsd/contrib/llvm-project/clang/lib/CodeGen/
H A DCGCleanup.cpp328 llvm::SwitchInst *Switch, in ResolveAllBranchFixups()
365 static llvm::SwitchInst *TransitionToCleanupSwitch(CodeGenFunction &CGF, in TransitionToCleanupSwitch()
376 llvm::SwitchInst *Switch = in TransitionToCleanupSwitch()
377 llvm::SwitchInst::Create(Load, Br->getSuccessor(0), 4, Block); in TransitionToCleanupSwitch()
381 return cast<llvm::SwitchInst>(Term); in TransitionToCleanupSwitch()
413 llvm::SwitchInst *Switch = TransitionToCleanupSwitch(*this, BranchBB); in ResolveBranchFixups()
598 llvm::SwitchInst *Switch = cast<llvm::SwitchInst>(Term); in ForwardPrebranchedFallthrough()
626 llvm::SwitchInst *si = cast<llvm::SwitchInst>(use.getUser()); in destroyOptimisticNormalEntry()
928 llvm::SwitchInst *Switch = in PopCleanupBlock()
929 llvm::SwitchInst::Create(Load, Default, SwitchCapacity); in PopCleanupBlock()
/freebsd/contrib/llvm-project/llvm/include/llvm/SandboxIR/
H A DTracker.h64 class SwitchInst; variable
350 SwitchInst *Switch;
354 SwitchAddCase(SwitchInst *Switch, ConstantInt *Val)
365 SwitchInst *Switch;
373 SwitchRemoveCase(SwitchInst *Switch);
H A DContext.h213 LLVM_ABI SwitchInst *createSwitchInst(llvm::SwitchInst *I);
214 friend SwitchInst; // For createSwitchInst()
H A DInstruction.h86 friend class SwitchInst; // For getTopmostLLVMInstruction(). variable
1863 class SwitchInst : public SingleLLVMInstructionImpl<llvm::SwitchInst> {
1864 SwitchInst(llvm::SwitchInst *SI, Context &Ctx) in SwitchInst() function
1870 llvm::SwitchInst::DefaultPseudoIndex;
1872 LLVM_ABI static SwitchInst *create(Value *V, BasicBlock *Dest,
1880 return cast<llvm::SwitchInst>(Val)->defaultDestUnreachable(); in defaultDestUnreachable()
1884 return cast<llvm::SwitchInst>(Val)->getNumCases(); in getNumCases()
1888 llvm::SwitchInst::CaseHandleImpl<SwitchInst, ConstantInt, BasicBlock>;
1890 llvm::SwitchInst::CaseHandleImpl<const SwitchInst, const ConstantInt,
1892 using CaseIt = llvm::SwitchInst::CaseIteratorImpl<CaseHandle>;
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DSwitchLoweringUtils.h281 void findJumpTables(CaseClusterVector &Clusters, const SwitchInst *SI,
286 unsigned Last, const SwitchInst *SI,
290 void findBitTestClusters(CaseClusterVector &Clusters, const SwitchInst *SI);
295 const SwitchInst *SI, CaseCluster &BTCluster);
/freebsd/contrib/llvm-project/llvm/lib/Target/SPIRV/
H A DSPIRVMergeRegionExitTargets.cpp54 if (auto *SI = dyn_cast<SwitchInst>(T)) { in gatherSuccessors()
111 if (auto *SI = dyn_cast<SwitchInst>(T)) { in replaceBranchTargets()
187 llvm::SwitchInst *Sw = Builder.CreateSwitch(Load, SortedExitTargets[0], in runOnConvergenceRegionNoRecurse()
H A DSPIRVStructurizer.cpp271 if (auto *SI = dyn_cast<SwitchInst>(T)) { in replaceBranchTargets()
508 SwitchInst *Sw = ExitBuilder.CreateSwitch(Load, Dsts[0], Dsts.size() - 1); in createSingleExitNode()
936 SwitchInst *SI = dyn_cast<SwitchInst>(BB.getTerminator()); in simplifyBranches()
968 SwitchInst *SI = dyn_cast<SwitchInst>(BB.getTerminator()); in splitSwitchCases()
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DCFGPrinter.h231 if (const SwitchInst *SI = dyn_cast<SwitchInst>(Node->getTerminator())) {
239 auto Case = *SwitchInst::ConstCaseIt::fromSuccessorIndex(SI, SuccNo);
H A DSparsePropagation.h333 if (!isa<SwitchInst>(TI)) { in getFeasibleSuccessors()
339 SwitchInst &SI = cast<SwitchInst>(TI); in getFeasibleSuccessors()
365 SwitchInst::CaseHandle Case = *SI.findCaseValue(cast<ConstantInt>(C)); in getFeasibleSuccessors()
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
H A DPredicateInfo.h162 SwitchInst *Switch;
164 Value *CaseValue, SwitchInst *SI) in PredicateSwitch()
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/
H A DJumpThreading.h45 class SwitchInst; variable
172 LLVM_ABI bool tryToUnfoldSelect(SwitchInst *SI, BasicBlock *BB);
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DLowerSwitch.cpp307 unsigned Clusterify(CaseVector &Cases, SwitchInst *SI) { in Clusterify()
349 void ProcessSwitchInst(SwitchInst *SI, in ProcessSwitchInst()
546 if (SwitchInst *SI = dyn_cast<SwitchInst>(Cur.getTerminator())) { in LowerSwitch()
H A DSimplifyCFG.cpp283 bool simplifySwitch(SwitchInst *SI, IRBuilder<> &Builder);
284 bool simplifyDuplicateSwitchArms(SwitchInst *SI, DomTreeUpdater *DTU);
303 bool simplifySwitchOnSelect(SwitchInst *SI, SelectInst *Select);
305 bool turnSwitchRangeIntoICmp(SwitchInst *SI, IRBuilder<> &Builder);
784 if (SwitchInst *SI = dyn_cast<SwitchInst>(TI)) { in eraseTerminatorAndDCECond()
802 if (SwitchInst *SI = dyn_cast<SwitchInst>(TI)) { in isValueEqualityComparison()
829 if (SwitchInst *SI = dyn_cast<SwitchInst>(TI)) { in getValueEqualityComparisonCases()
889 static void setBranchWeights(SwitchInst *SI, ArrayRef<uint32_t> Weights, in setBranchWeights()
977 SwitchInstProfUpdateWrapper SI = *cast<SwitchInst>(TI); in simplifyEqualityComparisonWithOnlyPredecessor()
987 for (SwitchInst::CaseIt i = SI->case_end(), e = SI->case_begin(); i != e;) { in simplifyEqualityComparisonWithOnlyPredecessor()
[all …]
H A DMisExpect.cpp94 else if (auto *S = dyn_cast<SwitchInst>(I)) { in getInstCondition()
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/
H A DInstructions.h3195 class SwitchInst : public Instruction {
3204 SwitchInst(const SwitchInst &SI);
3210 LLVM_ABI SwitchInst(Value *Value, BasicBlock *Default, unsigned NumCases,
3223 LLVM_ABI SwitchInst *cloneImpl() const;
3241 friend class SwitchInst::CaseIteratorImpl<
3288 CaseHandleImpl<const SwitchInst, const ConstantInt, const BasicBlock>;
3291 : public CaseHandleImpl<SwitchInst, ConstantInt, BasicBlock> {
3292 friend class SwitchInst::CaseIteratorImpl<CaseHandle>;
3295 CaseHandle(SwitchInst *SI, ptrdiff_t Index) : CaseHandleImpl(SI, Index) {}
3379 static SwitchInst *Create(Value *Value, BasicBlock *Default,
[all …]
/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()

12345