/external/llvm-project/llvm/lib/Transforms/Scalar/ |
D | IndVarSimplify.cpp | 166 bool linearFunctionTestReplace(Loop *L, BasicBlock *ExitingBB, 699 static bool isLoopExitTestBasedOn(Value *V, BasicBlock *ExitingBB) { in isLoopExitTestBasedOn() argument 700 BranchInst *BI = cast<BranchInst>(ExitingBB->getTerminator()); in isLoopExitTestBasedOn() 712 static bool needsLFTR(Loop *L, BasicBlock *ExitingBB) { in needsLFTR() argument 719 BranchInst *BI = cast<BranchInst>(ExitingBB->getTerminator()); in needsLFTR() 888 static PHINode *FindLoopCounter(Loop *L, BasicBlock *ExitingBB, in FindLoopCounter() argument 893 Value *Cond = cast<BranchInst>(ExitingBB->getTerminator())->getCondition(); in FindLoopCounter() 927 if (!isLoopExitTestBasedOn(Phi, ExitingBB) && in FindLoopCounter() 928 !isLoopExitTestBasedOn(IncPhi, ExitingBB)) in FindLoopCounter() 941 !mustExecuteUBIfPoisonOnPathTo(Phi, ExitingBB->getTerminator(), DT)) in FindLoopCounter() [all …]
|
D | LoopPredication.cpp | 1011 for (BasicBlock *ExitingBB : ExitingBlocks) { in getMinAnalyzeableBackedgeTakenCount() 1012 const SCEV *ExitCount = SE.getExitCount(L, ExitingBB); in getMinAnalyzeableBackedgeTakenCount() 1015 assert(DT.dominates(ExitingBB, L->getLoopLatch()) && in getMinAnalyzeableBackedgeTakenCount() 1077 for (auto *ExitingBB : ExitingBlocks) { in predicateLoopExits() local 1078 if (LI->getLoopFor(ExitingBB) != L) in predicateLoopExits() 1081 auto *BI = dyn_cast<BranchInst>(ExitingBB->getTerminator()); in predicateLoopExits() 1120 for (BasicBlock *ExitingBB : ExitingBlocks) { in predicateLoopExits() 1124 if (LI->getLoopFor(ExitingBB) != L) in predicateLoopExits() 1128 auto *BI = dyn_cast<BranchInst>(ExitingBB->getTerminator()); in predicateLoopExits() 1136 const SCEV *ExitCount = SE->getExitCount(L, ExitingBB); in predicateLoopExits() [all …]
|
D | LoopUnrollPass.cpp | 625 BasicBlock *ExitingBB, *ExitBB; in analyzeLoopUnrollCost() local 626 std::tie(ExitingBB, ExitBB) = ExitWorklist.pop_back_val(); in analyzeLoopUnrollCost() 633 Value *Op = PN->getIncomingValueForBlock(ExitingBB); in analyzeLoopUnrollCost()
|
D | SimpleLoopUnswitch.cpp | 168 static bool areLoopExitPHIsLoopInvariant(Loop &L, BasicBlock &ExitingBB, in areLoopExitPHIsLoopInvariant() argument 178 if (!L.isLoopInvariant(PN->getIncomingValueForBlock(&ExitingBB))) in areLoopExitPHIsLoopInvariant()
|
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Scalar/ |
D | IndVarSimplify.cpp | 163 bool linearFunctionTestReplace(Loop *L, BasicBlock *ExitingBB, 2059 static bool isLoopExitTestBasedOn(Value *V, BasicBlock *ExitingBB) { in isLoopExitTestBasedOn() argument 2060 BranchInst *BI = cast<BranchInst>(ExitingBB->getTerminator()); in isLoopExitTestBasedOn() 2072 static bool needsLFTR(Loop *L, BasicBlock *ExitingBB) { in needsLFTR() argument 2079 BranchInst *BI = cast<BranchInst>(ExitingBB->getTerminator()); in needsLFTR() 2248 static PHINode *FindLoopCounter(Loop *L, BasicBlock *ExitingBB, in FindLoopCounter() argument 2253 Value *Cond = cast<BranchInst>(ExitingBB->getTerminator())->getCondition(); in FindLoopCounter() 2287 if (!isLoopExitTestBasedOn(Phi, ExitingBB) && in FindLoopCounter() 2288 !isLoopExitTestBasedOn(IncPhi, ExitingBB)) in FindLoopCounter() 2301 !mustExecuteUBIfPoisonOnPathTo(Phi, ExitingBB->getTerminator(), DT)) in FindLoopCounter() [all …]
|
D | LoopPredication.cpp | 1009 for (BasicBlock *ExitingBB : ExitingBlocks) { in getMinAnalyzeableBackedgeTakenCount() 1010 const SCEV *ExitCount = SE.getExitCount(L, ExitingBB); in getMinAnalyzeableBackedgeTakenCount() 1013 assert(DT.dominates(ExitingBB, L->getLoopLatch()) && in getMinAnalyzeableBackedgeTakenCount() 1086 for (auto *ExitingBB : ExitingBlocks) { in predicateLoopExits() local 1087 if (LI->getLoopFor(ExitingBB) != L) in predicateLoopExits() 1090 auto *BI = dyn_cast<BranchInst>(ExitingBB->getTerminator()); in predicateLoopExits() 1129 for (BasicBlock *ExitingBB : ExitingBlocks) { in predicateLoopExits() 1133 if (LI->getLoopFor(ExitingBB) != L) in predicateLoopExits() 1137 auto *BI = dyn_cast<BranchInst>(ExitingBB->getTerminator()); in predicateLoopExits() 1145 const SCEV *ExitCount = SE->getExitCount(L, ExitingBB); in predicateLoopExits() [all …]
|
D | LoopUnrollPass.cpp | 619 BasicBlock *ExitingBB, *ExitBB; in analyzeLoopUnrollCost() local 620 std::tie(ExitingBB, ExitBB) = ExitWorklist.pop_back_val(); in analyzeLoopUnrollCost() 627 Value *Op = PN->getIncomingValueForBlock(ExitingBB); in analyzeLoopUnrollCost()
|
D | SimpleLoopUnswitch.cpp | 161 static bool areLoopExitPHIsLoopInvariant(Loop &L, BasicBlock &ExitingBB, in areLoopExitPHIsLoopInvariant() argument 171 if (!L.isLoopInvariant(PN->getIncomingValueForBlock(&ExitingBB))) in areLoopExitPHIsLoopInvariant()
|
/external/llvm-project/polly/lib/CodeGen/ |
D | Utils.cpp | 116 BasicBlock *ExitingBB = S.getExitingBlock(); in executeScopConditionally() local 118 assert(ExitingBB && "Must be a simple region"); in executeScopConditionally() 120 splitEdge(ExitingBB, ExitBB, ".merge_new_and_old", &DT, &LI, &RI); in executeScopConditionally()
|
D | CodeGeneration.cpp | 265 auto *ExitingBB = S.getExitingBlock(); in CodeGen() local 266 assert(ExitingBB); in CodeGen() 267 DT.changeImmediateDominator(MergeBlock, ExitingBB); in CodeGen()
|
D | BlockGenerators.cpp | 1423 for (auto ExitingBB : predecessors(R->getExit())) { in isDominatingSubregionExit() local 1425 if (!R->contains(ExitingBB)) in isDominatingSubregionExit() 1428 if (!DT.dominates(BB, ExitingBB)) in isDominatingSubregionExit() 1439 for (auto ExitingBB : predecessors(R->getExit())) { in findExitDominator() local 1441 if (!R->contains(ExitingBB)) in findExitDominator() 1446 Common = ExitingBB; in findExitDominator() 1450 Common = DT.findNearestCommonDominator(Common, ExitingBB); in findExitDominator()
|
D | PPCGCodeGeneration.cpp | 3505 auto *ExitingBB = S->getExitingBlock(); in generateCode() local 3506 assert(ExitingBB); in generateCode() 3508 DT->changeImmediateDominator(MergeBlock, ExitingBB); in generateCode()
|
/external/llvm/lib/CodeGen/ |
D | MachineBlockPlacement.cpp | 329 void rotateLoop(BlockChain &LoopChain, MachineBasicBlock *ExitingBB, 972 MachineBasicBlock *ExitingBB = nullptr; in findBestLoopExit() local 991 MachineBasicBlock *OldExitingBB = ExitingBB; in findBestLoopExit() 1031 if (!ExitingBB || SuccLoopDepth > BestExitLoopDepth || in findBestLoopExit() 1036 ExitingBB = MBB; in findBestLoopExit() 1042 ExitingBB = OldExitingBB; in findBestLoopExit() 1048 if (!ExitingBB || L.getNumBlocks() == 1) in findBestLoopExit() 1055 !BlocksExitingToOuterLoop.count(ExitingBB)) in findBestLoopExit() 1058 DEBUG(dbgs() << " Best exiting block: " << getBlockName(ExitingBB) << "\n"); in findBestLoopExit() 1059 return ExitingBB; in findBestLoopExit() [all …]
|
/external/llvm-project/polly/lib/Support/ |
D | ScopHelper.cpp | 111 BasicBlock *ExitingBB = R->getExitingBlock(); in simplifyRegionExit() local 120 if (!ExitingBB) { in simplifyRegionExit() 130 ExitingBB = in simplifyRegionExit() 139 RI->setRegionFor(ExitingBB, R); in simplifyRegionExit() 142 R->replaceExitRecursive(ExitingBB); in simplifyRegionExit() 145 assert(ExitingBB == R->getExitingBlock()); in simplifyRegionExit()
|
/external/swiftshader/third_party/llvm-10.0/llvm/lib/CodeGen/ |
D | MachineBlockPlacement.cpp | 480 BlockChain &LoopChain, const MachineBasicBlock *ExitingBB, 2124 MachineBasicBlock *ExitingBB = nullptr; in findBestLoopExit() local 2143 MachineBasicBlock *OldExitingBB = ExitingBB; in findBestLoopExit() 2184 if (!ExitingBB || SuccLoopDepth > BestExitLoopDepth || in findBestLoopExit() 2189 ExitingBB = MBB; in findBestLoopExit() 2195 ExitingBB = OldExitingBB; in findBestLoopExit() 2201 if (!ExitingBB) { in findBestLoopExit() 2215 !BlocksExitingToOuterLoop.count(ExitingBB)) in findBestLoopExit() 2218 LLVM_DEBUG(dbgs() << " Best exiting block: " << getBlockName(ExitingBB) in findBestLoopExit() 2221 return ExitingBB; in findBestLoopExit() [all …]
|
D | ModuloSchedule.cpp | 1734 MachineBasicBlock *ExitingBB = CreateLCSSAExitingBlock(); in peelPrologAndEpilogs() local 1735 EliminateDeadPhis(ExitingBB, MRI, LIS, /*KeepSingleSrcPhi=*/true); in peelPrologAndEpilogs() 1827 EliminateDeadPhis(ExitingBB, MRI, LIS); in peelPrologAndEpilogs()
|
/external/llvm-project/llvm/lib/CodeGen/ |
D | MachineBlockPlacement.cpp | 513 BlockChain &LoopChain, const MachineBasicBlock *ExitingBB, 2156 MachineBasicBlock *ExitingBB = nullptr; in findBestLoopExit() local 2175 MachineBasicBlock *OldExitingBB = ExitingBB; in findBestLoopExit() 2216 if (!ExitingBB || SuccLoopDepth > BestExitLoopDepth || in findBestLoopExit() 2221 ExitingBB = MBB; in findBestLoopExit() 2227 ExitingBB = OldExitingBB; in findBestLoopExit() 2233 if (!ExitingBB) { in findBestLoopExit() 2247 !BlocksExitingToOuterLoop.count(ExitingBB)) in findBestLoopExit() 2250 LLVM_DEBUG(dbgs() << " Best exiting block: " << getBlockName(ExitingBB) in findBestLoopExit() 2253 return ExitingBB; in findBestLoopExit() [all …]
|
D | ModuloSchedule.cpp | 1746 MachineBasicBlock *ExitingBB = CreateLCSSAExitingBlock(); in peelPrologAndEpilogs() local 1747 EliminateDeadPhis(ExitingBB, MRI, LIS, /*KeepSingleSrcPhi=*/true); in peelPrologAndEpilogs() 1839 EliminateDeadPhis(ExitingBB, MRI, LIS); in peelPrologAndEpilogs()
|
/external/llvm/lib/Transforms/Scalar/ |
D | LoopUnrollPass.cpp | 507 BasicBlock *ExitingBB, *ExitBB; in analyzeLoopUnrollCost() local 508 std::tie(ExitingBB, ExitBB) = ExitWorklist.pop_back_val(); in analyzeLoopUnrollCost() 515 Value *Op = PN->getIncomingValueForBlock(ExitingBB); in analyzeLoopUnrollCost()
|
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Utils/ |
D | LoopSimplify.cpp | 615 for (auto *ExitingBB : ExitingBlocks) in simplifyOneLoop() local 616 for (auto *SuccBB : successors(ExitingBB)) { in simplifyOneLoop()
|
/external/llvm-project/llvm/lib/Transforms/Utils/ |
D | LoopSimplify.cpp | 635 for (auto *ExitingBB : ExitingBlocks) in simplifyOneLoop() local 636 for (auto *SuccBB : successors(ExitingBB)) { in simplifyOneLoop()
|
/external/llvm/lib/Analysis/ |
D | ScalarEvolutionExpander.cpp | 1973 BasicBlock *ExitingBB = L->getExitingBlock(); in isHighCostExpansionHelper() local 1974 if (!ExitingBB) in isHighCostExpansionHelper() 1981 At = &ExitingBB->back(); in isHighCostExpansionHelper()
|
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Analysis/ |
D | ScalarEvolutionExpander.cpp | 2179 BasicBlock *ExitingBB = L->getExitingBlock(); in isHighCostExpansionHelper() local 2180 if (!ExitingBB) in isHighCostExpansionHelper() 2187 At = &ExitingBB->back(); in isHighCostExpansionHelper()
|
/external/llvm-project/llvm/lib/Analysis/ |
D | ScalarEvolution.cpp | 6272 auto *ExitingBB = L->getExitingBlock(); in isAddRecNeverPoison() local 6274 if (!ExitingBB || !LatchBB || ExitingBB != LatchBB) in isAddRecNeverPoison() 6812 if (BasicBlock *ExitingBB = L->getExitingBlock()) in getSmallConstantTripCount() local 6813 return getSmallConstantTripCount(L, ExitingBB); in getSmallConstantTripCount() 6837 if (BasicBlock *ExitingBB = L->getExitingBlock()) in getSmallConstantTripMultiple() local 6838 return getSmallConstantTripMultiple(L, ExitingBB); in getSmallConstantTripMultiple() 13184 for (BasicBlock *ExitingBB : ExitingBlocks) { in computeSymbolicMaxBackedgeTakenCount() 13185 const SCEV *ExitCount = getExitCount(L, ExitingBB); in computeSymbolicMaxBackedgeTakenCount() 13187 ExitCount = getExitCount(L, ExitingBB, in computeSymbolicMaxBackedgeTakenCount() 13190 assert(DT.dominates(ExitingBB, L->getLoopLatch()) && in computeSymbolicMaxBackedgeTakenCount()
|
/external/llvm/include/llvm/Analysis/ |
D | ScalarEvolution.h | 933 BasicBlock *ExitingBB, bool IsSubExpr);
|