Home
last modified time | relevance | path

Searched refs:Term (Results 1 – 25 of 85) sorted by relevance

1234

/llvm-project-15.0.7/llvm/lib/Target/AMDGPU/
H A DSIAnnotateControlFlow.cpp206 if (isUniform(Term)) in openIf()
209 Value *Ret = CallInst::Create(If, Term->getCondition(), "", Term); in openIf()
210 Term->setCondition(ExtractValueInst::Create(Ret, 0, "", Term)); in openIf()
211 push(Term->getSuccessor(1), ExtractValueInst::Create(Ret, 1, "", Term)); in openIf()
217 if (isUniform(Term)) { in insertElse()
221 Term->setCondition(ExtractValueInst::Create(Ret, 0, "", Term)); in insertElse()
222 push(Term->getSuccessor(1), ExtractValueInst::Create(Ret, 1, "", Term)); in insertElse()
262 if (isUniform(Term)) in handleLoop()
289 Term->setCondition(CallInst::Create(Loop, Arg, "", Term)); in handleLoop()
350 if (!Term || Term->isUnconditional()) { in runOnFunction()
[all …]
H A DSIPreEmitPeephole.cpp203 for (MachineInstr &Term : Parent->terminators()) { in optimizeVccBranch()
205 if (Term.isBranch()) in optimizeVccBranch()
206 ToRemove.push_back(&Term); in optimizeVccBranch()
208 Found = Term.isIdenticalTo(MI); in optimizeVccBranch()
/llvm-project-15.0.7/clang/lib/StaticAnalyzer/Core/
H A DCoreEngine.cpp326 if (const Stmt *Term = B->getTerminatorStmt()) { in HandleBlockExit() local
327 switch (Term->getStmtClass()) { in HandleBlockExit()
342 HandleBranch(cast<BinaryOperator>(Term)->getLHS(), Term, B, Pred); in HandleBlockExit()
348 Term, B, Pred); in HandleBlockExit()
355 HandleBranch(cast<ChooseExpr>(Term)->getCond(), Term, B, Pred); in HandleBlockExit()
371 HandleBranch(cast<DoStmt>(Term)->getCond(), Term, B, Pred); in HandleBlockExit()
375 HandleBranch(cast<CXXForRangeStmt>(Term)->getCond(), Term, B, Pred); in HandleBlockExit()
379 HandleBranch(cast<ForStmt>(Term)->getCond(), Term, B, Pred); in HandleBlockExit()
389 HandleBranch(cast<IfStmt>(Term)->getCond(), Term, B, Pred); in HandleBlockExit()
415 HandleBranch(Term, Term, B, Pred); in HandleBlockExit()
[all …]
/llvm-project-15.0.7/llvm/lib/Transforms/Scalar/
H A DSimplifyCFGPass.cpp99 auto *Term = BBs[0]->getTerminator(); in performBlockTailMerging() local
106 NewOps.resize(Term->getNumOperands()); in performBlockTailMerging()
107 for (auto I : zip(Term->operands(), NewOps)) { in performBlockTailMerging()
115 CanonicalTerm = Term->clone(); in performBlockTailMerging()
126 auto *Term = BB->getTerminator(); in performBlockTailMerging() local
133 for (auto I : zip(Term->operands(), NewOps)) in performBlockTailMerging()
138 CommonDebugLoc = Term->getDebugLoc(); in performBlockTailMerging()
145 Term->eraseFromParent(); in performBlockTailMerging()
170 auto *Term = BB.getTerminator(); in tailMergeBlocksWithSimilarFunctionTerminators() local
174 switch (Term->getOpcode()) { in tailMergeBlocksWithSimilarFunctionTerminators()
[all …]
H A DStructurizeCFG.cpp446 if (Term->isConditional()) { in buildCondition()
447 Cond = Term->getCondition(); in buildCondition()
478 if (Term->isConditional()) { in gatherPredicates()
547 for (BranchInst *Term : Conds) { in insertConditions()
548 assert(Term->isConditional()); in insertConditions()
550 BasicBlock *Parent = Term->getParent(); in insertConditions()
577 Term->setCondition(ParentValue); in insertConditions()
696 Instruction *Term = BB->getTerminator(); in killTerminator() local
697 if (!Term) in killTerminator()
704 DA->removeValue(Term); in killTerminator()
[all …]
H A DPlaceSafepoints.cpp351 Instruction *Term = Pred->getTerminator(); in runOnLoop() local
353 LLVM_DEBUG(dbgs() << "[LSP] terminator instruction: " << *Term); in runOnLoop()
355 PollLocations.push_back(Term); in runOnLoop()
537 for (Instruction *Term : PollLocations) { in runOnFunction()
553 for (unsigned i = 0; i < Term->getNumSuccessors(); i++) { in runOnFunction()
554 BasicBlock *Succ = Term->getSuccessor(i); in runOnFunction()
555 if (DT.dominates(Succ, Term->getParent())) { in runOnFunction()
566 BasicBlock *NewBB = SplitEdge(Term->getParent(), Header, &DT); in runOnFunction()
572 PollsNeeded.push_back(Term); in runOnFunction()
H A DLoopPredication.cpp957 auto IsValidProfileData = [](MDNode *ProfileData, const Instruction *Term) { in isLoopProfitableToPredicate() argument
963 if (ProfileData->getNumOperands() != 1 + Term->getNumSuccessors()) in isLoopProfitableToPredicate()
976 auto *Term = ExitingBlock->getTerminator(); in isLoopProfitableToPredicate() local
977 MDNode *ProfileData = Term->getMetadata(LLVMContext::MD_prof); in isLoopProfitableToPredicate()
978 unsigned NumSucc = Term->getNumSuccessors(); in isLoopProfitableToPredicate()
979 if (IsValidProfileData(ProfileData, Term)) { in isLoopProfitableToPredicate()
985 if (Term->getSuccessor(i) == ExitBlock) in isLoopProfitableToPredicate()
1051 auto *Term = Pred->getTerminator(); in FindWidenableTerminatorAboveLoop() local
1055 if (parseWidenableBranch(Term, Cond, WC, IfTrueBB, IfFalseBB) && in FindWidenableTerminatorAboveLoop()
1057 return cast<BranchInst>(Term); in FindWidenableTerminatorAboveLoop()
H A DADCE.cpp210 static bool isUnconditionalBranch(Instruction *Term) { in isUnconditionalBranch() argument
211 auto *BR = dyn_cast<BranchInst>(Term); in isUnconditionalBranch()
281 Instruction *Term = BB->getTerminator(); in initialize() local
282 if (isLive(Term)) in initialize()
288 markLive(Term); in initialize()
/llvm-project-15.0.7/llvm/tools/llvm-reduce/deltas/
H A DReduceBasicBlocks.cpp32 auto *Term = BB.getTerminator(); in replaceBranchTerminator() local
39 if (ChunkSuccessors.size() == Term->getNumSuccessors()) in replaceBranchTerminator()
42 bool IsBranch = isa<BranchInst>(Term) || isa<InvokeInst>(Term); in replaceBranchTerminator()
44 if (auto *IndBI = dyn_cast<IndirectBrInst>(Term)) in replaceBranchTerminator()
47 Term->replaceAllUsesWith(getDefaultValue(Term->getType())); in replaceBranchTerminator()
48 Term->eraseFromParent(); in replaceBranchTerminator()
/llvm-project-15.0.7/clang-tools-extra/pseudo/unittests/
H A DLRTableTest.cpp36 SymbolID Term = *G.findNonterminal("term"); in TEST() local
49 B.Transition[{StateID{1}, Term}] = StateID{3}; in TEST()
61 EXPECT_THAT(T.getGoToState(1, Term), ValueIs(3)); in TEST()
69 EXPECT_TRUE(T.canFollow(Term, Plus)); in TEST()
70 EXPECT_TRUE(T.canFollow(Term, Eof)); in TEST()
71 EXPECT_FALSE(T.canFollow(Term, Int)); in TEST()
/llvm-project-15.0.7/llvm/lib/IR/
H A DStructuralHash.cpp51 const Instruction *Term = BB->getTerminator(); in update() local
52 for (unsigned i = 0, e = Term->getNumSuccessors(); i != e; ++i) { in update()
53 if (!VisitedBBs.insert(Term->getSuccessor(i)).second) in update()
55 BBs.push_back(Term->getSuccessor(i)); in update()
/llvm-project-15.0.7/llvm/lib/Target/X86/
H A DX86ReturnThunks.cpp72 for (MachineInstr &Term : MBB.terminators()) in runOnMachineFunction()
73 if (Term.getOpcode() == RetOpc) in runOnMachineFunction()
74 Rets.push_back(&Term); in runOnMachineFunction()
/llvm-project-15.0.7/llvm/lib/CodeGen/
H A DPHIElimination.cpp530 for (MachineBasicBlock::iterator Term = InsertPos; Term != opBlock.end(); in LowerPHINode() local
531 ++Term) { in LowerPHINode()
532 if (Term->readsRegister(SrcReg)) in LowerPHINode()
533 KillInst = Term; in LowerPHINode()
588 for (MachineBasicBlock::iterator Term = InsertPos; in LowerPHINode() local
589 Term != opBlock.end(); ++Term) { in LowerPHINode()
590 if (Term->readsRegister(SrcReg)) in LowerPHINode()
591 KillInst = Term; in LowerPHINode()
/llvm-project-15.0.7/llvm/lib/Analysis/
H A DSyncDependenceAnalysis.cpp448 SyncDependenceAnalysis::getJoinBlocks(const Instruction &Term) { in getJoinBlocks() argument
450 if (Term.getNumSuccessors() <= 1) { in getJoinBlocks()
455 auto ItCached = CachedControlDivDescs.find(&Term); in getJoinBlocks()
461 const auto &TermBlock = *Term.getParent(); in getJoinBlocks()
465 LLVM_DEBUG(dbgs() << "Result (" << Term.getParent()->getName() << "):\n"; in getJoinBlocks()
471 auto ItInserted = CachedControlDivDescs.emplace(&Term, std::move(DivDesc)); in getJoinBlocks()
H A DDivergenceAnalysis.cpp289 void DivergenceAnalysisImpl::analyzeControlDivergence(const Instruction &Term) { in analyzeControlDivergence() argument
290 LLVM_DEBUG(dbgs() << "analyzeControlDiv " << Term.getParent()->getName() in analyzeControlDivergence()
294 if (!DT.isReachableFromEntry(Term.getParent())) in analyzeControlDivergence()
297 const auto *BranchLoop = LI.getLoopFor(Term.getParent()); in analyzeControlDivergence()
299 const auto &DivDesc = SDA.getJoinBlocks(Term); in analyzeControlDivergence()
H A DDelinearization.cpp221 for (const SCEV *&Term : Terms) { in findArrayDimensionsRec() local
224 SCEVDivision::divide(SE, Term, Step, &Q, &R); in findArrayDimensionsRec()
230 Term = Q; in findArrayDimensionsRec()
308 for (const SCEV *&Term : Terms) { in findArrayDimensions() local
310 SCEVDivision::divide(SE, Term, ElementSize, &Q, &R); in findArrayDimensions()
312 Term = Q; in findArrayDimensions()
H A DCFG.cpp81 const Instruction *Term = BB->getTerminator(); in GetSuccessorNumber() local
83 unsigned e = Term->getNumSuccessors(); in GetSuccessorNumber()
87 if (Term->getSuccessor(i) == Succ) in GetSuccessorNumber()
/llvm-project-15.0.7/clang/lib/Sema/
H A DAnalysisBasedWarnings.cpp418 if (Term && isa<CXXTryStmt>(Term)) in CheckFallThrough()
466 const Stmt *Term = B.getTerminatorStmt(); in CheckFallThrough() local
467 if (Term && (isa<CXXTryStmt>(Term) || isa<ObjCAtTryStmt>(Term))) { in CheckFallThrough()
846 const Stmt *Term = I->Terminator; in DiagUninitUse() local
862 switch (Term ? Term->getStmtClass() : Stmt::DeclStmtClass) { in DiagUninitUse()
870 const IfStmt *IS = cast<IfStmt>(Term); in DiagUninitUse()
1103 if (Term && isa<SwitchStmt>(Term)) in checkFallThroughIntoBlock()
1199 return Term; in getLastStmt()
1296 const Stmt *Term = B->getTerminatorStmt(); in DiagnoseSwitchLabelsFallthrough() local
1300 Term = B->getTerminatorStmt(); in DiagnoseSwitchLabelsFallthrough()
[all …]
/llvm-project-15.0.7/llvm/lib/Transforms/Utils/
H A DLoopUnroll.cpp682 auto *Term = cast<BranchInst>(Src->getTerminator()); in UnrollLoop() local
684 BasicBlock *Dest = Term->getSuccessor(Idx); in UnrollLoop()
685 BasicBlock *DeadSucc = Term->getSuccessor(1-Idx); in UnrollLoop()
691 BranchInst::Create(Dest, Term); in UnrollLoop()
692 Term->eraseFromParent(); in UnrollLoop()
760 BranchInst *Term = dyn_cast<BranchInst>(Latch->getTerminator()); in UnrollLoop() local
761 assert((Term || in UnrollLoop()
765 if (Term && Term->isUnconditional()) { in UnrollLoop()
766 BasicBlock *Dest = Term->getSuccessor(0); in UnrollLoop()
/llvm-project-15.0.7/llvm/test/Transforms/ArgumentPromotion/
H A D2008-09-08-CGUpdateSelfEdge.ll4 define internal fastcc i32 @term_SharingList(i32* %Term, i32* %List) nounwind {
16 define i32 @term_Sharing(i32* %Term) nounwind {
/llvm-project-15.0.7/llvm/lib/Target/WebAssembly/
H A DWebAssemblyCFGSort.cpp86 for (const MachineInstr &Term : MBB->terminators()) { in maybeUpdateTerminator() local
88 AnyBarrier |= Term.isBarrier(); in maybeUpdateTerminator()
90 AllAnalyzable &= Term.isBranch() && !Term.isIndirectBranch(); in maybeUpdateTerminator()
/llvm-project-15.0.7/clang/lib/Analysis/
H A DCFGStmtMap.cpp73 if (Stmt *Term = B->getTerminatorStmt()) in Accumulate() local
74 SM[Term] = B; in Accumulate()
H A DReachableCode.cpp52 if (const Stmt *Term = B->getTerminatorStmt()) { in isTrivialDoWhile() local
53 if (const DoStmt *DS = dyn_cast<DoStmt>(Term)) { in isTrivialDoWhile()
295 if (const Stmt *Term = B->getTerminatorStmt()) { in shouldTreatSuccessorsAsReachable() local
296 if (isa<SwitchStmt>(Term)) in shouldTreatSuccessorsAsReachable()
299 if (isa<BinaryOperator>(Term)) { in shouldTreatSuccessorsAsReachable()
300 return isConfigurationValue(Term, PP); in shouldTreatSuccessorsAsReachable()
/llvm-project-15.0.7/llvm/lib/Target/AArch64/
H A DAArch64ConditionOptimizer.cpp148 MachineBasicBlock::iterator Term = MBB->getFirstTerminator(); in findSuitableCompare() local
149 if (Term == MBB->end()) in findSuitableCompare()
152 if (Term->getOpcode() != AArch64::Bcc) in findSuitableCompare()
161 for (MachineBasicBlock::iterator B = MBB->begin(), It = Term; It != B;) { in findSuitableCompare()
/llvm-project-15.0.7/llvm/utils/TableGen/
H A DSequenceToOffsetTable.h202 const char *Term = "0") const {
212 OS << Term << ",\n";

1234