Home
last modified time | relevance | path

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

/minix3/external/bsd/llvm/dist/llvm/lib/Transforms/Utils/
H A DLoopSimplify.cpp642 BasicBlock *ExitingBlock = ExitingBlocks[i]; in simplifyOneLoop() local
643 if (!ExitingBlock->getSinglePredecessor()) continue; in simplifyOneLoop()
644 BranchInst *BI = dyn_cast<BranchInst>(ExitingBlock->getTerminator()); in simplifyOneLoop()
647 if (!CI || CI->getParent() != ExitingBlock) continue; in simplifyOneLoop()
653 for (BasicBlock::iterator I = ExitingBlock->begin(); &*I != BI; ) { in simplifyOneLoop()
684 << ExitingBlock->getName() << "\n"); in simplifyOneLoop()
693 assert(pred_begin(ExitingBlock) == pred_end(ExitingBlock)); in simplifyOneLoop()
695 LI->removeBlock(ExitingBlock); in simplifyOneLoop()
697 DomTreeNode *Node = DT->getNode(ExitingBlock); in simplifyOneLoop()
704 DT->eraseNode(ExitingBlock); in simplifyOneLoop()
[all …]
/minix3/external/bsd/llvm/dist/llvm/lib/Transforms/Scalar/
H A DLoopUnrollPass.cpp394 BasicBlock *ExitingBlock = L->getLoopLatch(); in runOnLoop() local
395 if (!ExitingBlock || !L->isLoopExiting(ExitingBlock)) in runOnLoop()
396 ExitingBlock = L->getExitingBlock(); in runOnLoop()
397 if (ExitingBlock) { in runOnLoop()
398 TripCount = SE->getSmallConstantTripCount(L, ExitingBlock); in runOnLoop()
399 TripMultiple = SE->getSmallConstantTripMultiple(L, ExitingBlock); in runOnLoop()
H A DLoopStrengthReduce.cpp2112 BasicBlock *ExitingBlock = ExitingBlocks[i]; in OptimizeLoopTermCond() local
2119 BranchInst *TermBr = dyn_cast<BranchInst>(ExitingBlock->getTerminator()); in OptimizeLoopTermCond()
2143 if (!DT.dominates(ExitingBlock, LatchBlock)) in OptimizeLoopTermCond()
2148 if (LatchBlock != ExitingBlock) in OptimizeLoopTermCond()
2153 !DT.properlyDominates(UI->getUser()->getParent(), ExitingBlock)) { in OptimizeLoopTermCond()
2206 ExitingBlock->getInstList().insert(TermBr, Cond); in OptimizeLoopTermCond()
/minix3/external/bsd/llvm/dist/llvm/include/llvm/Analysis/
H A DScalarEvolution.h285 AssertingVH<BasicBlock> ExitingBlock;
289 ExitNotTakenInfo() : ExitingBlock(nullptr), ExactNotTaken(nullptr) {}
330 return ExitNotTaken.ExitingBlock || !isa<SCEVCouldNotCompute>(Max);
343 const SCEV *getExact(BasicBlock *ExitingBlock, ScalarEvolution *SE) const;
447 ExitLimit ComputeExitLimit(const Loop *L, BasicBlock *ExitingBlock);
761 unsigned getSmallConstantTripCount(Loop *L, BasicBlock *ExitingBlock);
777 unsigned getSmallConstantTripMultiple(Loop *L, BasicBlock *ExitingBlock);
782 const SCEV *getExitCount(Loop *L, BasicBlock *ExitingBlock);
/minix3/external/bsd/llvm/dist/llvm/test/Transforms/LoopVectorize/
H A Dinfiniteloop.ll13 ; // which this loop is *guaranteed not to exit* via ExitingBlock. Otherwise
/minix3/external/bsd/llvm/dist/llvm/lib/Analysis/
H A DScalarEvolution.cpp4388 BasicBlock *ExitingBlock) { in getSmallConstantTripCount() argument
4389 assert(ExitingBlock && "Must pass a non-null exiting block!"); in getSmallConstantTripCount()
4390 assert(L->isLoopExiting(ExitingBlock) && in getSmallConstantTripCount()
4393 dyn_cast<SCEVConstant>(getExitCount(L, ExitingBlock)); in getSmallConstantTripCount()
4429 BasicBlock *ExitingBlock) { in getSmallConstantTripMultiple() argument
4430 assert(ExitingBlock && "Must pass a non-null exiting block!"); in getSmallConstantTripMultiple()
4431 assert(L->isLoopExiting(ExitingBlock) && in getSmallConstantTripMultiple()
4433 const SCEV *ExitCount = getExitCount(L, ExitingBlock); in getSmallConstantTripMultiple()
4464 const SCEV *ScalarEvolution::getExitCount(Loop *L, BasicBlock *ExitingBlock) { in getExitCount() argument
4465 return getBackedgeTakenInfo(L).getExact(ExitingBlock, this); in getExitCount()
[all …]
/minix3/external/bsd/llvm/dist/llvm/test/Transforms/LoopSimplify/
H A Dpreserve-scev.ll52 ; Notify SCEV when removing an ExitingBlock.