| /llvm-project-15.0.7/llvm/lib/Target/AMDGPU/ |
| H A D | SIAnnotateControlFlow.cpp | 206 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 D | SIPreEmitPeephole.cpp | 203 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 D | CoreEngine.cpp | 326 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 D | SimplifyCFGPass.cpp | 99 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 D | StructurizeCFG.cpp | 446 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 D | PlaceSafepoints.cpp | 351 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 D | LoopPredication.cpp | 957 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 D | ADCE.cpp | 210 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 D | ReduceBasicBlocks.cpp | 32 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 D | LRTableTest.cpp | 36 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 D | StructuralHash.cpp | 51 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 D | X86ReturnThunks.cpp | 72 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 D | PHIElimination.cpp | 530 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 D | SyncDependenceAnalysis.cpp | 448 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 D | DivergenceAnalysis.cpp | 289 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 D | Delinearization.cpp | 221 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 D | CFG.cpp | 81 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 D | AnalysisBasedWarnings.cpp | 418 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 D | LoopUnroll.cpp | 682 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 D | 2008-09-08-CGUpdateSelfEdge.ll | 4 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 D | WebAssemblyCFGSort.cpp | 86 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 D | CFGStmtMap.cpp | 73 if (Stmt *Term = B->getTerminatorStmt()) in Accumulate() local 74 SM[Term] = B; in Accumulate()
|
| H A D | ReachableCode.cpp | 52 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 D | AArch64ConditionOptimizer.cpp | 148 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 D | SequenceToOffsetTable.h | 202 const char *Term = "0") const { 212 OS << Term << ",\n";
|