Home
last modified time | relevance | path

Searched refs:ExitingBlock (Results 1 – 25 of 29) sorted by relevance

12

/external/llvm-project/polly/lib/CodeGen/
DUtils.cpp145 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()
DCodeGeneration.cpp259 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()
DPPCGCodeGeneration.cpp3499 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/
DLoopSimplify.cpp505 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/
DLoopSimplify.cpp520 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 …]
DLoopUnroll.cpp408 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/
DLoopSimplify.cpp539 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 …]
DLoopUnroll.cpp324 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/
DLoopFuse.cpp153 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 …]
DLoopUnrollPass.cpp1095 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/
DLoopFuse.cpp141 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 …]
DLoopUnrollPass.cpp1086 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/
DHexagonHardwareLoops.cpp410 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/
DHexagonHardwareLoops.cpp390 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/
DHexagonHardwareLoops.cpp410 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/
DLoopUnrollPass.cpp937 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/
DScalarEvolution.h562 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/
DScalarEvolution.h698 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/
DScalarEvolution.h723 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/
Dinfiniteloop.ll13 ; // which this loop is *guaranteed not to exit* via ExitingBlock. Otherwise
/external/llvm-project/llvm/test/Transforms/LoopVectorize/
Dinfiniteloop.ll13 ; // which this loop is *guaranteed not to exit* via ExitingBlock. Otherwise
/external/llvm/lib/Analysis/
DScalarEvolution.cpp5255 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/
Dpreserve-scev.ll55 ; Notify SCEV when removing an ExitingBlock.
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Analysis/
DScalarEvolution.cpp6576 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/
DScalarEvolution.cpp6821 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 …]

12