Home
last modified time | relevance | path

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

/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/lib/Transforms/Utils/
DLoopSimplify.cpp293 BasicBlock *ExitingBlock = ExitingBlocks[i]; in ProcessLoop() local
294 if (!ExitingBlock->getSinglePredecessor()) continue; in ProcessLoop()
295 BranchInst *BI = dyn_cast<BranchInst>(ExitingBlock->getTerminator()); in ProcessLoop()
298 if (!CI || CI->getParent() != ExitingBlock) continue; in ProcessLoop()
303 for (BasicBlock::iterator I = ExitingBlock->begin(); &*I != BI; ) { in ProcessLoop()
326 << ExitingBlock->getName() << "\n"); in ProcessLoop()
336 assert(pred_begin(ExitingBlock) == pred_end(ExitingBlock)); in ProcessLoop()
338 LI->removeBlock(ExitingBlock); in ProcessLoop()
340 DomTreeNode *Node = DT->getNode(ExitingBlock); in ProcessLoop()
347 DT->eraseNode(ExitingBlock); in ProcessLoop()
[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/swiftshader/third_party/LLVM/include/llvm/Analysis/
DScalarEvolution.h267 AssertingVH<BasicBlock> ExitingBlock;
271 ExitNotTakenInfo() : ExitingBlock(0), ExactNotTaken(0) {}
312 return ExitNotTaken.ExitingBlock || !isa<SCEVCouldNotCompute>(Max);
325 const SCEV *getExact(BasicBlock *ExitingBlock, ScalarEvolution *SE) const;
433 ExitLimit ComputeExitLimit(const Loop *L, BasicBlock *ExitingBlock);
738 const SCEV *getExitCount(Loop *L, BasicBlock *ExitingBlock);
/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/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()
DLoopStrengthReduce.cpp2075 for (BasicBlock *ExitingBlock : ExitingBlocks) { in OptimizeLoopTermCond()
2082 BranchInst *TermBr = dyn_cast<BranchInst>(ExitingBlock->getTerminator()); in OptimizeLoopTermCond()
2106 if (!DT.dominates(ExitingBlock, LatchBlock)) in OptimizeLoopTermCond()
2111 if (LatchBlock != ExitingBlock) in OptimizeLoopTermCond()
2116 !DT.properlyDominates(UI->getUser()->getParent(), ExitingBlock)) { in OptimizeLoopTermCond()
2171 ExitingBlock->getInstList().insert(TermBr->getIterator(), Cond); in OptimizeLoopTermCond()
/external/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/test/Transforms/LoopSimplify/
Dpreserve-scev.ll52 ; Notify SCEV when removing an ExitingBlock.
/external/swiftshader/third_party/LLVM/lib/Analysis/
DScalarEvolution.cpp3977 const SCEV *ScalarEvolution::getExitCount(Loop *L, BasicBlock *ExitingBlock) { in getExitCount() argument
3978 return getBackedgeTakenInfo(L).getExact(ExitingBlock, this); in getExitCount()
4163 if (!ExitNotTaken.ExitingBlock) return SE->getCouldNotCompute(); in getExact()
4183 ScalarEvolution::BackedgeTakenInfo::getExact(BasicBlock *ExitingBlock, in getExact() argument
4188 if (ENT->ExitingBlock == ExitingBlock) in getExact()
4212 ExitNotTaken.ExitingBlock = ExitCounts[0].first; in BackedgeTakenInfo()
4222 ENT->ExitingBlock = ExitCounts[i].first; in BackedgeTakenInfo()
4229 ExitNotTaken.ExitingBlock = 0; in clear()
4266 ScalarEvolution::ComputeExitLimit(const Loop *L, BasicBlock *ExitingBlock) { in ComputeExitLimit() argument
4272 BranchInst *ExitBr = dyn_cast<BranchInst>(ExitingBlock->getTerminator()); in ComputeExitLimit()
/external/swiftshader/third_party/LLVM/lib/Transforms/Scalar/
DLoopStrengthReduce.cpp1765 BasicBlock *ExitingBlock = ExitingBlocks[i]; in OptimizeLoopTermCond() local
1772 BranchInst *TermBr = dyn_cast<BranchInst>(ExitingBlock->getTerminator()); in OptimizeLoopTermCond()
1796 if (!DT.dominates(ExitingBlock, LatchBlock)) in OptimizeLoopTermCond()
1801 if (LatchBlock != ExitingBlock) in OptimizeLoopTermCond()
1806 !DT.properlyDominates(UI->getUser()->getParent(), ExitingBlock)) { in OptimizeLoopTermCond()
1860 ExitingBlock->getInstList().insert(TermBr, Cond); in OptimizeLoopTermCond()