/llvm-project/llvm/unittests/IR/ |
H A D | CFGBuilder.cpp | 44 if (isa<UnreachableInst>(From->getTerminator())) in ConnectBlocks() 45 From->getTerminator()->eraseFromParent(); in ConnectBlocks() 46 if (!From->getTerminator()) { in ConnectBlocks() 52 SwitchInst *SI = cast<SwitchInst>(From->getTerminator()); in ConnectBlocks() 63 SwitchInst *SI = cast<SwitchInst>(From->getTerminator()); in DisconnectBlocks() 174 EXPECT_TRUE(isa<SwitchInst>(B.getOrAddBlock("entry")->getTerminator())); in TEST() 175 EXPECT_TRUE(isa<SwitchInst>(B.getOrAddBlock("a")->getTerminator())); in TEST() 176 EXPECT_TRUE(isa<UnreachableInst>(B.getOrAddBlock("b")->getTerminator())); in TEST() 177 EXPECT_TRUE(isa<SwitchInst>(B.getOrAddBlock("d")->getTerminator())); in TEST() 179 auto *DSwitch = cast<SwitchInst>(B.getOrAddBlock("d")->getTerminator()); in TEST() [all …]
|
/llvm-project/llvm/unittests/Analysis/ |
H A D | DomTreeUpdaterTest.cpp | 72 SwitchInst *SI = dyn_cast<SwitchInst>(BB0->getTerminator()); in TEST() 92 EXPECT_EQ(BB0->getTerminator()->getNumSuccessors(), 3u); in TEST() 100 EXPECT_EQ(BB0->getTerminator()->getNumSuccessors(), 2u); in TEST() 104 ASSERT_FALSE(isa<UnreachableInst>(BB3->getTerminator())); in TEST() 195 EXPECT_EQ(NewEntry->getTerminator()->getNumSuccessors(), 1u); in TEST() 196 NewEntry->getTerminator()->eraseFromParent(); in TEST() 198 EXPECT_EQ(BB0->getTerminator()->getNumSuccessors(), 1u); in TEST() 208 ASSERT_FALSE(isa<UnreachableInst>(BB0->getTerminator())); in TEST() 272 EXPECT_EQ(BB0->getTerminator()->getNumSuccessors(), 4u); in TEST() 273 BB0->getTerminator() in TEST() [all...] |
H A D | ProfileSummaryInfoTest.cpp | 143 BasicBlock *BB1 = BB0.getTerminator()->getSuccessor(0); in TEST_F() 203 BasicBlock *BB1 = BB0.getTerminator()->getSuccessor(0); in TEST_F() 204 BasicBlock *BB2 = BB0.getTerminator()->getSuccessor(1); in TEST_F() 270 BasicBlock *BB1 = BB0.getTerminator()->getSuccessor(0); in TEST_F() 271 BasicBlock *BB2 = BB0.getTerminator()->getSuccessor(1); in TEST_F() 299 BasicBlock *BB1 = BB0.getTerminator()->getSuccessor(0); in TEST_F() 300 BasicBlock *BB2 = BB0.getTerminator()->getSuccessor(1); in TEST_F() 370 BasicBlock *BB1 = BB0.getTerminator()->getSuccessor(0); in TEST_F() 371 BasicBlock *BB2 = BB0.getTerminator()->getSuccessor(1); in TEST_F()
|
/llvm-project/llvm/lib/Transforms/Utils/ |
H A D | FlattenCFG.cpp | 149 BranchInst *PBI = dyn_cast<BranchInst>(Pred->getTerminator()); in FlattenParallelAndOr() 221 BranchInst *BPS = dyn_cast<BranchInst>(PS->getTerminator()); in FlattenParallelAndOr() 232 Instruction *TBB = LastCondBlock->getTerminator(); in FlattenParallelAndOr() 235 BranchInst *PBI1 = dyn_cast<BranchInst>(PS1->getTerminator()); in FlattenParallelAndOr() 236 BranchInst *PBI2 = dyn_cast<BranchInst>(PS2->getTerminator()); in FlattenParallelAndOr() 241 (PS1->getTerminator()->getSuccessor(0) != PS2)) { in FlattenParallelAndOr() 244 (PS2->getTerminator()->getSuccessor(0) != PS1)) in FlattenParallelAndOr() 252 auto *BI = cast<BranchInst>(CurrBlock->getTerminator()); in FlattenParallelAndOr() 279 BranchInst *PBI = cast<BranchInst>(FirstCondBlock->getTerminator()); in FlattenParallelAndOr() 289 PBI = cast<BranchInst>(FirstCondBlock->getTerminator()); in FlattenParallelAndOr() [all …]
|
H A D | LoopUnrollRuntime.cpp | 166 Instruction *InsertPt = PrologExit->getTerminator(); in ConnectProlog() 183 if (hasBranchWeightMD(*Latch->getTerminator())) { in ConnectProlog() 303 Instruction *InsertPt = NewExit->getTerminator(); in ConnectEpilog() 313 if (hasBranchWeightMD(*Latch->getTerminator())) { in ConnectEpilog() 367 InsertTop->getTerminator()->setSuccessor(0, NewBB); in CloneLoopBlocks() 383 VMap.erase((*BB)->getTerminator()); in CloneLoopBlocks() 388 BranchInst *LatchBR = cast<BranchInst>(NewBB->getTerminator()); in CloneLoopBlocks() 603 BranchInst *LatchBR = cast<BranchInst>(Latch->getTerminator()); in UnrollRuntimeLoopRemainder() 674 BranchInst *PreHeaderBR = cast<BranchInst>(PreHeader->getTerminator()); in UnrollRuntimeLoopRemainder() 710 NewPreHeader = SplitBlock(PreHeader, PreHeader->getTerminator(), D in UnrollRuntimeLoopRemainder() [all...] |
H A D | BasicBlockUtils.cpp | 90 isa<UnreachableInst>(BB->getTerminator()) && in detachDeadBlocks() 196 Instruction *PTI = PredBB->getTerminator(); in MergeBlockIntoPredecessor() 212 BranchInst *BB_JmpI = dyn_cast<BranchInst>(BB->getTerminator()); in MergeBlockIntoPredecessor() 275 Instruction *STI = BB->getTerminator(); in MergeBlockIntoPredecessor() 308 MSSAU->getMemorySSA()->getMemoryAccess(PredBB->getTerminator()))) in MergeBlockIntoPredecessor() 749 if (isa<UnreachableInst>(BB->getTerminator()) || in IsBlockFollowedByDeoptOrUnreachable() 767 Instruction *LatchTerm = BB->getTerminator(); in SplitEdge() 795 assert(BB->getTerminator()->getNumSuccessors() == 1 && in SplitEdge() 797 return SplitBlock(BB, BB->getTerminator(), DT, LI, MSSAU, BBName); in SplitEdge() 874 return isa<IndirectBrInst>(Pred->getTerminator()); in ehAwareSplitEdge() [all...] |
H A D | BreakCriticalEdges.cpp | 158 return isa<IndirectBrInst>(Pred->getTerminator()); in SplitKnownCriticalEdge() 319 Instruction *PredTerm = PredBB->getTerminator(); in findIBRPredecessor() 347 if (isa<IndirectBrInst>(BB.getTerminator())) in SplitIndirectBrCriticalEdges() 376 EdgeProbabilities.reserve(Target->getTerminator()->getNumSuccessors()); in SplitIndirectBrCriticalEdges() 377 for (unsigned I = 0, E = Target->getTerminator()->getNumSuccessors(); in SplitIndirectBrCriticalEdges() 405 Src->getTerminator()->replaceUsesOfWith(Target, DirectSucc); in SplitIndirectBrCriticalEdges() 427 assert(&*End == Target->getTerminator() && in SplitIndirectBrCriticalEdges()
|
H A D | UnifyFunctionExitNodes.cpp | 27 if (isa<UnreachableInst>(I.getTerminator())) in unifyUnreachableBlocks() 49 if (isa<ReturnInst>(I.getTerminator())) in unifyReturnBlocks() 78 PN->addIncoming(BB->getTerminator()->getOperand(0), BB); in unifyReturnBlocks()
|
H A D | LoopSimplify.cpp | 127 if (isa<IndirectBrInst>(P->getTerminator())) in InsertPreheaderForLoop() 256 if (isa<IndirectBrInst>(PN->getIncomingBlock(i)->getTerminator())) in separateNestedLoop() 375 if (isa<IndirectBrInst>(P->getTerminator())) in insertUniqueBackedgeBlock() 450 Instruction *TI = BB->getTerminator(); in insertUniqueBackedgeBlock() 456 BEBlock->getTerminator()->setMetadata(LLVMContext::MD_loop, LoopMD); in insertUniqueBackedgeBlock() 505 Instruction *TI = P->getTerminator(); in simplifyOneLoop() 521 if (BranchInst *BI = dyn_cast<BranchInst>(ExitingBlock->getTerminator())) in simplifyOneLoop() 632 BranchInst *BI = dyn_cast<BranchInst>(ExitingBlock->getTerminator()); in simplifyOneLoop() 647 Preheader ? Preheader->getTerminator() : nullptr, MSSAU, SE)) { in simplifyOneLoop() 878 if (isa<IndirectBrInst>(Pred->getTerminator())) { [all...] |
H A D | LoopVersioning.cpp | 66 MemRuntimeCheck = addRuntimeChecks(RuntimeCheckBB->getTerminator(), in versionLoop() 72 Exp.expandCodeForPredicate(&Preds, RuntimeCheckBB->getTerminator()); in versionLoop() 78 Builder.SetInsertPoint(RuntimeCheckBB->getTerminator()); in versionLoop() 94 SplitBlock(RuntimeCheckBB, RuntimeCheckBB->getTerminator(), DT, LI, in versionLoop() 108 Instruction *OrigTerm = RuntimeCheckBB->getTerminator(); in versionLoop()
|
H A D | LoopPeel.cpp | 287 return !isa<UnreachableInst>(BB->getTerminator()); in peelToTurnInvariantLoadsDerefencebale() 326 return LoadUsers.contains(Exiting->getTerminator()); in peelToTurnInvariantLoadsDerefencebale() 496 auto *BI = dyn_cast<BranchInst>(BB->getTerminator()); in countToEliminateCompares() 519 BranchInst *LatchBR = dyn_cast<BranchInst>(Latch->getTerminator()); in violatesLegacyMultiExitLoopCheck() 700 Instruction *Term = ExitingBlock->getTerminator(); in initBranchWeights() 809 InsertTop->getTerminator()->setSuccessor(0, cast<BasicBlock>(VMap[Header])); in cloneLoopBlocks() 817 auto *LatchTerm = cast<Instruction>(NewLatch->getTerminator()); in cloneLoopBlocks() 1000 SplitBlock(InsertTop, InsertTop->getTerminator(), &DT, LI); in peelLoop() 1002 SplitBlock(InsertBot, InsertBot->getTerminator(), &DT, LI); in peelLoop() 1009 cast<Instruction>(cast<BasicBlock>(Latch)->getTerminator()); in peelLoop() [all...] |
/llvm-project/llvm/tools/llvm-stress/ |
H A D | llvm-stress.cpp | 333 Value *V = new LoadInst(Ty, Ptr, "L", BB->getTerminator()->getIterator()); 353 new StoreInst(Val, Ptr, BB->getTerminator()->getIterator()); 375 Instruction* Term = BB->getTerminator(); in Act() 473 BB->getTerminator()->getIterator()); in Act() 505 BB->getTerminator()->getIterator()); in Act() 520 BB->getTerminator()->getIterator()); 546 new BitCastInst(V, DestTy, "PC", BB->getTerminator()->getIterator())); in Act() 555 new BitCastInst(V, DestTy, "BC", BB->getTerminator()->getIterator())); in Act() 562 new TruncInst(V, DestTy, "Tr", BB->getTerminator()->getIterator())); in Act() 567 V, DestTy, "ZE", BB->getTerminator() in Act() [all...] |
/llvm-project/llvm/unittests/Transforms/Utils/ |
H A D | BasicBlockUtilsTest.cpp | 273 Instruction *LatchTerm = SrcBlock->getTerminator(); in TEST() 293 EXPECT_EQ(NewBB, SrcBlock->getTerminator()->getSuccessor(SuccNum)); in TEST() 471 BasicBlock *SplitBB = BB1->getTerminator()->getSuccessor(0); in TEST() 472 ASSERT_EQ(2u, SplitBB->getTerminator()->getNumSuccessors()); in TEST() 478 ASSERT_EQ(2u, BB0->getTerminator()->getNumSuccessors()); in TEST() 479 EXPECT_EQ(BB0->getTerminator()->getSuccessor(1), in TEST() 513 BasicBlock *SplitBB = BB1->getTerminator()->getSuccessor(0); in TEST() 514 ASSERT_EQ(2u, SplitBB->getTerminator()->getNumSuccessors()); in TEST() 521 ASSERT_EQ(2u, BB0->getTerminator()->getNumSuccessors()); in TEST() 522 BasicBlock *BB2Clone = BB0->getTerminator()->getSuccessor(1); in TEST() [all …]
|
/llvm-project/llvm/lib/Target/AMDGPU/ |
H A D | AMDGPUUnifyDivergentExitNodes.cpp | 127 if (!UA.isUniform(Top->getTerminator())) in isUniformlyReached() 166 PN->addIncoming(BB->getTerminator()->getOperand(0), BB); in unifyReturnBlockSet() 169 BB->getTerminator()->eraseFromParent(); in unifyReturnBlockSet() 194 !isa<BranchInst>(PDT.getRoot()->getTerminator()))) in run() 218 if (isa<ReturnInst>(BB->getTerminator())) { in run() 221 } else if (isa<UnreachableInst>(BB->getTerminator())) { in run() 224 } else if (BranchInst *BI = dyn_cast<BranchInst>(BB->getTerminator())) { in run() 260 BB->getTerminator()->eraseFromParent(); in run() 281 BB->getTerminator()->eraseFromParent(); in run() 295 UnreachableBlock->getTerminator() in run() [all...] |
/llvm-project/llvm/examples/IRTransforms/ |
H A D | SimplifyCFG.cpp | 143 BranchInst *BI = dyn_cast<BranchInst>(BB.getTerminator()); in eliminateCondBranches_v1() 179 BranchInst *BI = dyn_cast<BranchInst>(BB.getTerminator()); in eliminateCondBranches_v2() 229 if (!match(BB.getTerminator(), in eliminateCondBranches_v3() 246 BranchInst::Create(TakenSucc, BB.getTerminator()->getIterator()); in eliminateCondBranches_v3() 247 BB.getTerminator()->eraseFromParent(); in eliminateCondBranches_v3() 289 I.moveBefore(Pred->getTerminator()->getIterator()); in mergeIntoSinglePredecessor_v1() 293 Pred->getTerminator()->eraseFromParent(); in mergeIntoSinglePredecessor_v1() 340 I.moveBefore(Pred->getTerminator()->getIterator()); in mergeIntoSinglePredecessor_v2() 344 Pred->getTerminator()->eraseFromParent(); in mergeIntoSinglePredecessor_v2()
|
/llvm-project/polly/lib/CodeGen/ |
H A D | CodeGeneration.cpp | 80 auto *OrigTerminator = Block.getTerminator(); in markBlockUnreachable() 214 Builder.SetInsertPoint(EnteringBB->getTerminator()); in generateCode() 249 P.insertRegionStart(SplitBlock->getTerminator()); in generateCode() 252 P.insertRegionEnd(MergeBlock->getTerminator()); in generateCode() 260 Builder.SetInsertPoint(SplitBlock->getTerminator()); in generateCode() 265 auto *SplitBBTerm = Builder.GetInsertBlock()->getTerminator(); in generateCode() 284 Builder.GetInsertBlock()->getTerminator()->setOperand(0, RTC); in generateCode() 292 Builder.SetInsertPoint(StartBlock->getTerminator()); in generateCode()
|
/llvm-project/llvm/lib/Transforms/Scalar/ |
H A D | JumpThreading.cpp | 148 BranchInst *CondBr = dyn_cast<BranchInst>(BB->getTerminator()); 171 BranchInst *PredBr = dyn_cast<BranchInst>(PredBB->getTerminator()); in updatePredecessorProfileMetadata() 207 BranchInst *PredBr = dyn_cast<BranchInst>(PredBB->getTerminator()); in updatePredecessorProfileMetadata() 343 << "' with terminator: " << *BB.getTerminator() in runImpl() 354 auto *BI = dyn_cast<BranchInst>(BB.getTerminator()); in runImpl() 453 if (BB->getTerminator() == StopAt) { in getJumpThreadDuplicationCost() 919 Instruction *BBTerm = BB->getTerminator(); in getBestDestForJumpOnUndef() 975 Instruction *Terminator = BB->getTerminator(); in processBlock() 1017 Instruction *BBTerm = BB->getTerminator(); in processBlock() 1043 << "' folding terminator: " << *BB->getTerminator() in processBlock() [all...] |
H A D | CallSiteSplitting.cpp | 131 auto *BI = dyn_cast<BranchInst>(From->getTerminator()); in recordCondition() 143 Conditions.push_back({Cmp, From->getTerminator()->getSuccessor(0) == To in recordCondition() 196 if (Preds.size() != 2 || isa<IndirectBrInst>(Preds[0]->getTerminator()) || in canSplitCallSite() 197 isa<IndirectBrInst>(Preds[1]->getTerminator())) in canSplitCallSite() 251 Instruction *TI = SplitBB->getTerminator(); in copyMustTailReturn() 332 cast<CallBase>(&*std::prev(SplitBlock->getTerminator()->getIterator())); in splitCallSite() 366 BB->getTerminator()->eraseFromParent(); in splitCallSite() 509 auto IE = BB.getTerminator()->getIterator(); in doCallSiteSplitting() 514 while (II != IE && &*II != BB.getTerminator()) { in doCallSiteSplitting()
|
H A D | IndVarSimplify.cpp | 461 auto *TermInst = IncomingBB->getTerminator(); in rewriteFirstIterationLoopExitValues() 700 BranchInst *BI = cast<BranchInst>(ExitingBB->getTerminator()); 719 BranchInst *BI = cast<BranchInst>(ExitingBB->getTerminator()); in needsLFTR() 838 Value *Cond = cast<BranchInst>(ExitingBB->getTerminator())->getCondition(); in FindLoopCounter() 882 !mustExecuteUBIfPoisonOnPathTo(Phi, ExitingBB->getTerminator(), DT)) in FindLoopCounter() 939 ExitingBB->getTerminator()); in genLoopLimit() 971 mustExecuteUBIfPoisonOnPathTo(IncVar, ExitingBB->getTerminator(), DT); in linearFunctionTestReplace() 1005 BranchInst *BI = cast<BranchInst>(ExitingBB->getTerminator()); in linearFunctionTestReplace() 1100 BasicBlock::iterator I(Preheader->getTerminator()); in sinkUnusedInvariants() 1190 BranchInst *BI = cast<BranchInst>(ExitingBB->getTerminator()); [all...] |
/llvm-project/mlir/lib/Conversion/SCFToControlFlow/ |
H A D | SCFToControlFlow.cpp | 342 Operation *terminator = lastBodyBlock->getTerminator(); in matchAndRewrite() 416 Operation *thenTerminator = thenRegion.back().getTerminator(); in matchAndRewrite() 430 Operation *elseTerminator = elseRegion.back().getTerminator(); in matchAndRewrite() 462 if (auto terminator = dyn_cast<scf::YieldOp>(block.getTerminator())) { in matchAndRewrite() 485 auto reductionOp = dyn_cast<ReduceOp>(parallelOp.getBody()->getTerminator()); in matchAndRewrite() 530 cast<ReduceReturnOp>(reductionBody.getTerminator()).getResult()); in matchAndRewrite() 531 rewriter.eraseOp(reductionBody.getTerminator()); in matchAndRewrite() 542 rewriter.inlineBlockBefore(parallelOp.getBody(), newBody->getTerminator(), in matchAndRewrite() 581 auto condOp = cast<ConditionOp>(before->getTerminator()); in matchAndRewrite() 587 auto yieldOp = cast<scf::YieldOp>(after->getTerminator()); in matchAndRewrite() [all...] |
/llvm-project/mlir/examples/transform/Ch4/lib/ |
H A D | MyExtension.cpp | 146 yieldedMappings, getBody().front().getTerminator()->getOperands(), in apply() 180 if (bodyBlock.getTerminator()->getNumOperands() != getNumResults() - 1) { in verify() 183 << bodyBlock.getTerminator()->getNumOperands(); in verify() 186 llvm::enumerate(bodyBlock.getTerminator()->getOperands().getTypes(), in verify()
|
/llvm-project/llvm/lib/Target/X86/ |
H A D | X86LowerAMXIntrinsics.cpp | 117 PHINode::Create(I16Ty, 2, Name + ".iv", Header->getTerminator()->getIterator()); in createLoop() 126 BranchInst *PreheaderBr = cast<BranchInst>(Preheader->getTerminator()); in createLoop() 180 B.SetInsertPoint(ColBody->getTerminator()); in createTileLoadStoreLoops() 191 B.SetInsertPoint(RowLoopHeader->getTerminator()); in createTileLoadStoreLoops() 199 B.SetInsertPoint(ColLoopHeader->getTerminator()); in createTileLoadStoreLoops() 208 B.SetInsertPoint(ColBody->getTerminator()); in createTileLoadStoreLoops() 224 B.SetInsertPoint(ColBody->getTerminator()); in createTileLoadStoreLoops() 285 B.SetInsertPoint(ColBody->getTerminator()); in createTileDPLoops() 318 B.SetInsertPoint(RowLoopHeader->getTerminator()); in createTileDPLoops() 335 B.SetInsertPoint(ColLoopHeader->getTerminator()); in createTileDPLoops() [all...] |
/llvm-project/mlir/lib/Transforms/ |
H A D | RemoveDeadValues.cpp | 306 Operation *lastReturnOp = funcOp.back().getTerminator(); in cleanRegionBranchOp() 320 Operation *returnOp = block.getTerminator(); in cleanRegionBranchOp() 423 Operation *terminator = region.front().getTerminator(); in cleanRegionBranchOp() 442 region ? region->front().getTerminator() : nullptr; in cleanRegionBranchOp() 502 Operation *terminator = region.front().getTerminator(); in cleanRegionBranchOp() 509 terminatorOperandsToKeep[region.back().getTerminator()] in cleanRegionBranchOp() 551 terminatorOperandsToKeep[region.back().getTerminator()], in cleanRegionBranchOp() 624 Operation *terminator = region.front().getTerminator();
|
/llvm-project/llvm/lib/CodeGen/ |
H A D | HardwareLoops.cpp | 406 if (!isa<BranchInst>(Pred->getTerminator())) in CanGenerateTest() 409 auto *BI = cast<BranchInst>(Pred->getTerminator()); in CanGenerateTest() 468 cast<BranchInst>(BB->getTerminator())->isUnconditional()) { in InitLoopCount() 472 if (!SCEVE.isSafeToExpandAt(ExitCount, Predecessor->getTerminator())) in InitLoopCount() 478 if (!SCEVE.isSafeToExpandAt(ExitCount, BB->getTerminator())) { in InitLoopCount() 485 BB->getTerminator()); in InitLoopCount() 504 IRBuilder<> Builder(BeginBB->getTerminator()); in InsertIterationSetup() 518 assert((isa<BranchInst>(BeginBB->getTerminator()) && in InsertIterationSetup() 519 cast<BranchInst>(BeginBB->getTerminator())->isConditional()) && in InsertIterationSetup() 524 auto *LoopGuard = cast<BranchInst>(BeginBB->getTerminator()); in InsertIterationSetup() [all...] |
H A D | MachineLoopInfo.cpp | 133 if (DebugLoc DL = PHeadBB->getTerminator()->getDebugLoc()) in findLoopPreheader() 140 return HeadBB->getTerminator()->getDebugLoc(); in findLoopPreheader() 190 if (const auto *TI = BB->getTerminator()) in getLoopID() 202 const auto *TI = BB->getTerminator(); in isLoopInvariantImplicitPhysReg()
|