/external/llvm-project/polly/lib/CodeGen/ |
D | Utils.cpp | 145 BasicBlock *ExitingBlock = in executeScopConditionally() local 153 L->addBasicBlockToLoop(ExitingBlock, LI); in executeScopConditionally() 156 DT.addNewBlock(ExitingBlock, StartBlock); in executeScopConditionally() 158 RI.setRegionFor(ExitingBlock, RI.getRegionFor(SplitBlock)); in executeScopConditionally() 176 Builder.CreateBr(ExitingBlock); in executeScopConditionally() 177 DT.changeImmediateDominator(ExitingBlock, StartBlock); in executeScopConditionally() 180 Builder.SetInsertPoint(ExitingBlock); in executeScopConditionally() 218 return std::make_pair(std::make_pair(StartBlock, ExitingBlock), CondBr); in executeScopConditionally()
|
D | CodeGeneration.cpp | 259 auto *ExitingBlock = StartBlock->getUniqueSuccessor(); in CodeGen() local 260 assert(ExitingBlock); in CodeGen() 261 auto *MergeBlock = ExitingBlock->getUniqueSuccessor(); in CodeGen() 264 markBlockUnreachable(*ExitingBlock, Builder); in CodeGen() 268 DT.eraseNode(ExitingBlock); in CodeGen()
|
D | PPCGCodeGeneration.cpp | 3499 auto *ExitingBlock = StartBlock->getUniqueSuccessor(); in generateCode() local 3500 assert(ExitingBlock); in generateCode() 3501 auto *MergeBlock = ExitingBlock->getUniqueSuccessor(); in generateCode() 3504 polly::markBlockUnreachable(*ExitingBlock, Builder); in generateCode() 3509 DT->eraseNode(ExitingBlock); in generateCode() 3524 auto *ExitingBlock = StartBlock->getUniqueSuccessor(); in generateCode() local 3525 assert(ExitingBlock); in generateCode() 3526 BasicBlock *MergeBlock = ExitingBlock->getUniqueSuccessor(); in generateCode()
|
/external/llvm/lib/Transforms/Utils/ |
D | LoopSimplify.cpp | 505 for (BasicBlock *ExitingBlock : ExitingBlocks) in simplifyOneLoop() 506 if (BranchInst *BI = dyn_cast<BranchInst>(ExitingBlock->getTerminator())) in simplifyOneLoop() 511 << ExitingBlock->getName() << "\n"); in simplifyOneLoop() 622 BasicBlock *ExitingBlock = ExitingBlocks[i]; in simplifyOneLoop() local 623 if (!ExitingBlock->getSinglePredecessor()) continue; in simplifyOneLoop() 624 BranchInst *BI = dyn_cast<BranchInst>(ExitingBlock->getTerminator()); in simplifyOneLoop() 627 if (!CI || CI->getParent() != ExitingBlock) continue; in simplifyOneLoop() 633 for (BasicBlock::iterator I = ExitingBlock->begin(); &*I != BI; ) { in simplifyOneLoop() 665 << ExitingBlock->getName() << "\n"); in simplifyOneLoop() 674 assert(pred_begin(ExitingBlock) == pred_end(ExitingBlock)); in simplifyOneLoop() [all …]
|
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Utils/ |
D | LoopSimplify.cpp | 520 for (BasicBlock *ExitingBlock : ExitingBlocks) in simplifyOneLoop() 521 if (BranchInst *BI = dyn_cast<BranchInst>(ExitingBlock->getTerminator())) in simplifyOneLoop() 527 << ExitingBlock->getName() << "\n"); in simplifyOneLoop() 630 BasicBlock *ExitingBlock = ExitingBlocks[i]; in simplifyOneLoop() local 631 if (!ExitingBlock->getSinglePredecessor()) continue; in simplifyOneLoop() 632 BranchInst *BI = dyn_cast<BranchInst>(ExitingBlock->getTerminator()); in simplifyOneLoop() 635 if (!CI || CI->getParent() != ExitingBlock) continue; in simplifyOneLoop() 641 for (auto I = ExitingBlock->instructionsWithoutDebug().begin(); &*I != BI; ) { in simplifyOneLoop() 670 << ExitingBlock->getName() << "\n"); in simplifyOneLoop() 672 assert(pred_begin(ExitingBlock) == pred_end(ExitingBlock)); in simplifyOneLoop() [all …]
|
D | LoopUnroll.cpp | 408 BasicBlock *ExitingBlock = L->getLoopLatch(); in UnrollLoop() local 409 assert(ExitingBlock && "Loop without exiting block?"); in UnrollLoop() 410 assert(L->isLoopExiting(ExitingBlock) && "Latch is not exiting?"); in UnrollLoop() 412 ULO.TripCount = SE->getSmallConstantTripCount(L, ExitingBlock); in UnrollLoop() 413 ULO.TripMultiple = SE->getSmallConstantTripMultiple(L, ExitingBlock); in UnrollLoop()
|
/external/llvm-project/llvm/lib/Transforms/Utils/ |
D | LoopSimplify.cpp | 539 for (BasicBlock *ExitingBlock : ExitingBlocks) in simplifyOneLoop() 540 if (BranchInst *BI = dyn_cast<BranchInst>(ExitingBlock->getTerminator())) in simplifyOneLoop() 546 << ExitingBlock->getName() << "\n"); in simplifyOneLoop() 650 BasicBlock *ExitingBlock = ExitingBlocks[i]; in simplifyOneLoop() local 651 if (!ExitingBlock->getSinglePredecessor()) continue; in simplifyOneLoop() 652 BranchInst *BI = dyn_cast<BranchInst>(ExitingBlock->getTerminator()); in simplifyOneLoop() 655 if (!CI || CI->getParent() != ExitingBlock) continue; in simplifyOneLoop() 661 for (auto I = ExitingBlock->instructionsWithoutDebug().begin(); &*I != BI; ) { in simplifyOneLoop() 690 << ExitingBlock->getName() << "\n"); in simplifyOneLoop() 692 assert(pred_empty(ExitingBlock)); in simplifyOneLoop() [all …]
|
D | LoopUnroll.cpp | 324 else if (BasicBlock *ExitingBlock = L->getExitingBlock()) in UnrollLoop() local 325 ExitingBI = dyn_cast<BranchInst>(ExitingBlock->getTerminator()); in UnrollLoop() 403 BasicBlock *ExitingBlock = L->getLoopLatch(); in UnrollLoop() local 404 assert(ExitingBlock && "Loop without exiting block?"); in UnrollLoop() 405 assert(L->isLoopExiting(ExitingBlock) && "Latch is not exiting?"); in UnrollLoop() 407 ULO.TripCount = SE->getSmallConstantTripCount(L, ExitingBlock); in UnrollLoop() 408 ULO.TripMultiple = SE->getSmallConstantTripMultiple(L, ExitingBlock); in UnrollLoop()
|
/external/llvm-project/llvm/lib/Transforms/Scalar/ |
D | LoopFuse.cpp | 153 BasicBlock *ExitingBlock; member 188 ExitingBlock(L->getExitingBlock()), ExitBlock(L->getExitBlock()), in FusionCandidate() 234 return Preheader && Header && ExitingBlock && ExitBlock && Latch && L && in isValid() 244 assert(ExitingBlock == L->getExitingBlock() && in verify() 267 ExitingBlock = L->getExitingBlock(); in updateAfterPeeling() 304 << (ExitingBlock ? ExitingBlock->getName() : "nullptr") << "\n" in dump() 324 if (!ExitingBlock) in isEligibleForFusion() 1344 if (FC0.ExitingBlock != FC0.Latch) in performFusion() 1373 FC0.ExitingBlock->getTerminator()->replaceUsesOfWith(FC1.Preheader, in performFusion() 1376 DominatorTree::Delete, FC0.ExitingBlock, FC1.Preheader)); in performFusion() [all …]
|
D | LoopUnrollPass.cpp | 1095 BasicBlock *ExitingBlock = L->getLoopLatch(); in tryToUnrollLoop() local 1096 if (!ExitingBlock || !L->isLoopExiting(ExitingBlock)) in tryToUnrollLoop() 1097 ExitingBlock = L->getExitingBlock(); in tryToUnrollLoop() 1098 if (ExitingBlock) { in tryToUnrollLoop() 1099 TripCount = SE.getSmallConstantTripCount(L, ExitingBlock); in tryToUnrollLoop() 1100 TripMultiple = SE.getSmallConstantTripMultiple(L, ExitingBlock); in tryToUnrollLoop()
|
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Scalar/ |
D | LoopFuse.cpp | 141 BasicBlock *ExitingBlock; member 169 ExitingBlock(L->getExitingBlock()), ExitBlock(L->getExitBlock()), in FusionCandidate() 214 return Preheader && Header && ExitingBlock && ExitBlock && Latch && L && in isValid() 224 assert(ExitingBlock == L->getExitingBlock() && in verify() 271 << (ExitingBlock ? ExitingBlock->getName() : "nullptr") << "\n" in dump() 291 if (!ExitingBlock) in isEligibleForFusion() 1189 if (FC0.ExitingBlock != FC0.Latch) in performFusion() 1217 FC0.ExitingBlock->getTerminator()->replaceUsesOfWith(FC1.Preheader, in performFusion() 1220 DominatorTree::Delete, FC0.ExitingBlock, FC1.Preheader)); in performFusion() 1222 DominatorTree::Insert, FC0.ExitingBlock, FC1.Header)); in performFusion() [all …]
|
D | LoopUnrollPass.cpp | 1086 BasicBlock *ExitingBlock = L->getLoopLatch(); in tryToUnrollLoop() local 1087 if (!ExitingBlock || !L->isLoopExiting(ExitingBlock)) in tryToUnrollLoop() 1088 ExitingBlock = L->getExitingBlock(); in tryToUnrollLoop() 1089 if (ExitingBlock) { in tryToUnrollLoop() 1090 TripCount = SE.getSmallConstantTripCount(L, ExitingBlock); in tryToUnrollLoop() 1091 TripMultiple = SE.getSmallConstantTripMultiple(L, ExitingBlock); in tryToUnrollLoop()
|
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Target/Hexagon/ |
D | HexagonHardwareLoops.cpp | 410 MachineBasicBlock *ExitingBlock = L->findLoopControlBlock(); in findInductionRegister() local 411 if (!Header || !Preheader || !Latch || !ExitingBlock) in findInductionRegister() 458 bool NotAnalyzed = TII->analyzeBranch(*ExitingBlock, TB, FB, Cond, false); in findInductionRegister() 591 MachineBasicBlock *ExitingBlock = L->findLoopControlBlock(); in getLoopTripCount() local 592 if (!ExitingBlock) in getLoopTripCount() 619 bool NotAnalyzed = TII->analyzeBranch(*ExitingBlock, TB, FB, Cond, false); in getLoopTripCount() 628 if (ExitingBlock != Latch && (TB == Latch || FB == Latch)) { in getLoopTripCount() 1221 MachineBasicBlock *ExitingBlock = L->findLoopControlBlock(); in convertToHardwareLoop() local 1223 if (ExitingBlock != L->getLoopLatch()) { in convertToHardwareLoop() 1227 if (TII->analyzeBranch(*ExitingBlock, TB, FB, Cond, false)) in convertToHardwareLoop() [all …]
|
/external/llvm/lib/Target/Hexagon/ |
D | HexagonHardwareLoops.cpp | 390 MachineBasicBlock *ExitingBlock = getExitingBlock(L); in findInductionRegister() local 391 if (!Header || !Preheader || !Latch || !ExitingBlock) in findInductionRegister() 439 bool NotAnalyzed = TII->analyzeBranch(*ExitingBlock, TB, FB, Cond, false); in findInductionRegister() 558 MachineBasicBlock *ExitingBlock = getExitingBlock(L); in getLoopTripCount() local 559 if (!ExitingBlock) in getLoopTripCount() 586 bool NotAnalyzed = TII->analyzeBranch(*ExitingBlock, TB, FB, Cond, false); in getLoopTripCount() 595 if (ExitingBlock != Latch && (TB == Latch || FB == Latch)) { in getLoopTripCount() 1183 MachineBasicBlock *ExitingBlock = getExitingBlock(L); in convertToHardwareLoop() local 1185 if (ExitingBlock != L->getLoopLatch()) { in convertToHardwareLoop() 1189 if (TII->analyzeBranch(*ExitingBlock, TB, FB, Cond, false)) in convertToHardwareLoop() [all …]
|
/external/llvm-project/llvm/lib/Target/Hexagon/ |
D | HexagonHardwareLoops.cpp | 410 MachineBasicBlock *ExitingBlock = L->findLoopControlBlock(); in findInductionRegister() local 411 if (!Header || !Preheader || !Latch || !ExitingBlock) in findInductionRegister() 458 bool NotAnalyzed = TII->analyzeBranch(*ExitingBlock, TB, FB, Cond, false); in findInductionRegister() 591 MachineBasicBlock *ExitingBlock = L->findLoopControlBlock(); in getLoopTripCount() local 592 if (!ExitingBlock) in getLoopTripCount() 619 bool NotAnalyzed = TII->analyzeBranch(*ExitingBlock, TB, FB, Cond, false); in getLoopTripCount() 628 if (ExitingBlock != Latch && (TB == Latch || FB == Latch)) { in getLoopTripCount() 1221 MachineBasicBlock *ExitingBlock = L->findLoopControlBlock(); in convertToHardwareLoop() local 1223 if (ExitingBlock != L->getLoopLatch()) { in convertToHardwareLoop() 1227 if (TII->analyzeBranch(*ExitingBlock, TB, FB, Cond, false)) in convertToHardwareLoop() [all …]
|
/external/llvm/lib/Transforms/Scalar/ |
D | LoopUnrollPass.cpp | 937 BasicBlock *ExitingBlock = L->getLoopLatch(); in tryToUnrollLoop() local 938 if (!ExitingBlock || !L->isLoopExiting(ExitingBlock)) in tryToUnrollLoop() 939 ExitingBlock = L->getExitingBlock(); in tryToUnrollLoop() 940 if (ExitingBlock) { in tryToUnrollLoop() 941 TripCount = SE->getSmallConstantTripCount(L, ExitingBlock); in tryToUnrollLoop() 942 TripMultiple = SE->getSmallConstantTripMultiple(L, ExitingBlock); in tryToUnrollLoop()
|
/external/llvm/include/llvm/Analysis/ |
D | ScalarEvolution.h | 562 AssertingVH<BasicBlock> ExitingBlock; 569 : ExitingBlock(nullptr), ExactNotTaken(nullptr), ExtraInfo(nullptr), 574 : ExitingBlock(ExitBlock), ExactNotTaken(Expr), ExtraInfo(Ptr), 717 return ExitNotTaken.ExitingBlock || !isa<SCEVCouldNotCompute>(Max); 746 const SCEV *getExact(BasicBlock *ExitingBlock, ScalarEvolution *SE) const; 895 ExitLimit computeExitLimit(const Loop *L, BasicBlock *ExitingBlock, 1363 unsigned getSmallConstantTripCount(Loop *L, BasicBlock *ExitingBlock); 1379 unsigned getSmallConstantTripMultiple(Loop *L, BasicBlock *ExitingBlock); 1384 const SCEV *getExitCount(Loop *L, BasicBlock *ExitingBlock);
|
/external/swiftshader/third_party/llvm-10.0/llvm/include/llvm/Analysis/ |
D | ScalarEvolution.h | 698 unsigned getSmallConstantTripCount(const Loop *L, BasicBlock *ExitingBlock); 720 BasicBlock *ExitingBlock); 740 const SCEV *getExitCount(const Loop *L, BasicBlock *ExitingBlock, 1248 PoisoningVH<BasicBlock> ExitingBlock; 1253 explicit ExitNotTakenInfo(PoisoningVH<BasicBlock> ExitingBlock, 1257 : ExitingBlock(ExitingBlock), ExactNotTaken(ExactNotTaken), 1336 const SCEV *getExact(BasicBlock *ExitingBlock, ScalarEvolution *SE) const; 1342 const SCEV *getMax(BasicBlock *ExitingBlock, ScalarEvolution *SE) const; 1512 ExitLimit computeExitLimit(const Loop *L, BasicBlock *ExitingBlock,
|
/external/llvm-project/llvm/include/llvm/Analysis/ |
D | ScalarEvolution.h | 723 const BasicBlock *ExitingBlock); 745 const BasicBlock *ExitingBlock); 766 const SCEV *getExitCount(const Loop *L, const BasicBlock *ExitingBlock, 1329 PoisoningVH<BasicBlock> ExitingBlock; 1334 explicit ExitNotTakenInfo(PoisoningVH<BasicBlock> ExitingBlock, 1338 : ExitingBlock(ExitingBlock), ExactNotTaken(ExactNotTaken), 1419 const SCEV *getExact(const BasicBlock *ExitingBlock, 1426 const SCEV *getConstantMax(const BasicBlock *ExitingBlock, 1607 ExitLimit computeExitLimit(const Loop *L, BasicBlock *ExitingBlock,
|
/external/llvm/test/Transforms/LoopVectorize/ |
D | infiniteloop.ll | 13 ; // which this loop is *guaranteed not to exit* via ExitingBlock. Otherwise
|
/external/llvm-project/llvm/test/Transforms/LoopVectorize/ |
D | infiniteloop.ll | 13 ; // which this loop is *guaranteed not to exit* via ExitingBlock. Otherwise
|
/external/llvm/lib/Analysis/ |
D | ScalarEvolution.cpp | 5255 BasicBlock *ExitingBlock) { in getSmallConstantTripCount() argument 5256 assert(ExitingBlock && "Must pass a non-null exiting block!"); in getSmallConstantTripCount() 5257 assert(L->isLoopExiting(ExitingBlock) && in getSmallConstantTripCount() 5260 dyn_cast<SCEVConstant>(getExitCount(L, ExitingBlock)); in getSmallConstantTripCount() 5296 BasicBlock *ExitingBlock) { in getSmallConstantTripMultiple() argument 5297 assert(ExitingBlock && "Must pass a non-null exiting block!"); in getSmallConstantTripMultiple() 5298 assert(L->isLoopExiting(ExitingBlock) && in getSmallConstantTripMultiple() 5300 const SCEV *ExitCount = getExitCount(L, ExitingBlock); in getSmallConstantTripMultiple() 5330 const SCEV *ScalarEvolution::getExitCount(Loop *L, BasicBlock *ExitingBlock) { in getExitCount() argument 5331 return getBackedgeTakenInfo(L).getExact(ExitingBlock, this); in getExitCount() [all …]
|
/external/llvm/test/Transforms/LoopSimplify/ |
D | preserve-scev.ll | 55 ; Notify SCEV when removing an ExitingBlock.
|
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Analysis/ |
D | ScalarEvolution.cpp | 6576 BasicBlock *ExitingBlock) { in getSmallConstantTripCount() argument 6577 assert(ExitingBlock && "Must pass a non-null exiting block!"); in getSmallConstantTripCount() 6578 assert(L->isLoopExiting(ExitingBlock) && in getSmallConstantTripCount() 6581 dyn_cast<SCEVConstant>(getExitCount(L, ExitingBlock)); in getSmallConstantTripCount() 6613 BasicBlock *ExitingBlock) { in getSmallConstantTripMultiple() argument 6614 assert(ExitingBlock && "Must pass a non-null exiting block!"); in getSmallConstantTripMultiple() 6615 assert(L->isLoopExiting(ExitingBlock) && in getSmallConstantTripMultiple() 6617 const SCEV *ExitCount = getExitCount(L, ExitingBlock); in getSmallConstantTripMultiple() 6644 BasicBlock *ExitingBlock, in getExitCount() argument 6648 return getBackedgeTakenInfo(L).getExact(ExitingBlock, this); in getExitCount() [all …]
|
/external/llvm-project/llvm/lib/Analysis/ |
D | ScalarEvolution.cpp | 6821 const BasicBlock *ExitingBlock) { in getSmallConstantTripCount() argument 6822 assert(ExitingBlock && "Must pass a non-null exiting block!"); in getSmallConstantTripCount() 6823 assert(L->isLoopExiting(ExitingBlock) && in getSmallConstantTripCount() 6826 dyn_cast<SCEVConstant>(getExitCount(L, ExitingBlock)); in getSmallConstantTripCount() 6858 const BasicBlock *ExitingBlock) { in getSmallConstantTripMultiple() argument 6859 assert(ExitingBlock && "Must pass a non-null exiting block!"); in getSmallConstantTripMultiple() 6860 assert(L->isLoopExiting(ExitingBlock) && in getSmallConstantTripMultiple() 6862 const SCEV *ExitCount = getExitCount(L, ExitingBlock); in getSmallConstantTripMultiple() 6889 const BasicBlock *ExitingBlock, in getExitCount() argument 6894 return getBackedgeTakenInfo(L).getExact(ExitingBlock, this); in getExitCount() [all …]
|