| /src/external/apache2/llvm/dist/llvm/lib/CodeGen/ |
| MachineDominators.cpp | 106 for (MachineBasicBlock *PredBB : Succ->predecessors()) { 107 if (PredBB == Edge.NewBB) 121 if (NewBBs.count(PredBB)) { 122 assert(PredBB->pred_size() == 1 && "A basic block resulting from a " 125 PredBB = *PredBB->pred_begin(); 127 if (!DT->dominates(SuccDTNode, DT->getNode(PredBB))) {
|
| TailDuplicator.cpp | 111 for (MachineBasicBlock *PredBB : Preds) { 115 if (PHIBB == PredBB) { 124 << printMBBReference(*PredBB) << '\n'; 345 /// Process PHI node in TailBB by turning it into a copy in PredBB. Remember the 346 /// source register that's contributed by PredBB and update SSA update map. 348 MachineInstr *MI, MachineBasicBlock *TailBB, MachineBasicBlock *PredBB, 353 unsigned SrcOpIdx = getPHISrcRegOpIdx(MI, PredBB); 365 addSSAUpdateEntry(DefReg, NewDef, PredBB); 370 // Remove PredBB from the PHI node. 377 /// Duplicate a TailBB instruction to PredBB and updat [all...] |
| BranchFolding.h | 136 MachineBasicBlock* PredBB, 163 MachineBasicBlock *PredBB); 168 MachineBasicBlock* PredBB); 172 bool CreateCommonTailOnlyBlock(MachineBasicBlock *&PredBB,
|
| BranchFolding.cpp | 535 /// PredBB The layout predecessor of SuccBB, if any. 544 MachineBasicBlock *PredBB, 582 if ((MBB1 == PredBB || MBB2 == PredBB) && 585 unsigned NumTerms = CountTerminators(MBB1 == PredBB ? MBB2 : MBB1, I); 630 if (SuccBB && MBB1 != PredBB && MBB2 != PredBB && 656 MachineBasicBlock *PredBB) { 669 SuccBB, PredBB, 691 MachineBasicBlock *PredBB) { [all...] |
| MachineSSAUpdater.cpp | 167 for (MachineBasicBlock *PredBB : BB->predecessors()) { 168 Register PredVal = GetValueAtEndOfBlockInternal(PredBB); 169 PredValues.push_back(std::make_pair(PredBB, PredVal));
|
| /src/external/apache2/llvm/dist/llvm/include/llvm/Analysis/ |
| PHITransAddr.h | 80 /// PredBB. This returns true on failure and sets Addr to null. 81 bool PHITranslateValue(BasicBlock *CurBB, BasicBlock *PredBB, 91 Value *PHITranslateWithInsertion(BasicBlock *CurBB, BasicBlock *PredBB, 103 Value *PHITranslateSubExpr(Value *V, BasicBlock *CurBB, BasicBlock *PredBB, 107 /// version of 'V' for the edge PredBB->CurBB into the end of the PredBB 112 BasicBlock *PredBB, const DominatorTree &DT,
|
| LoopInfoImpl.h | 439 BlockT *PredBB = ReverseCFGWorklist.back(); 442 LoopT *Subloop = LI->getLoopFor(PredBB); 444 if (!DomTree.isReachableFromEntry(PredBB)) 448 LI->changeLoopFor(PredBB, L); 450 if (PredBB == L->getHeader()) 454 InvBlockTraits::child_begin(PredBB), 455 InvBlockTraits::child_end(PredBB)); 469 PredBB = Subloop->getHeader(); 474 for (const auto Pred : children<Inverse<BlockT *>>(PredBB)) { 558 // If Header dominates predBB, this is a new loop. Collect the backedges [all...] |
| /src/external/apache2/llvm/dist/llvm/lib/Analysis/ |
| PHITransAddr.cpp | 144 BasicBlock *PredBB, 169 return AddAsInput(PN->getIncomingValueForBlock(PredBB)); 189 Value *PHIIn = PHITranslateSubExpr(Cast->getOperand(0), CurBB, PredBB, DT); 207 (!DT || DT->dominates(CastI->getParent(), PredBB))) 218 Value *GEPOp = PHITranslateSubExpr(GEP->getOperand(i), CurBB, PredBB, DT); 244 (!DT || DT->dominates(GEPI->getParent(), PredBB))) { 260 Value *LHS = PHITranslateSubExpr(Inst->getOperand(0), CurBB, PredBB, DT); 296 (!DT || DT->dominates(BO->getParent(), PredBB))) 311 /// PredBB. This returns true on failure and sets Addr to null. 312 bool PHITransAddr::PHITranslateValue(BasicBlock *CurBB, BasicBlock *PredBB, [all...] |
| LoopNestAnalysis.cpp | 224 const BasicBlock *PredBB = From; 228 PredBB = BB; 232 return (BB == End) ? *End : *PredBB;
|
| /src/external/apache2/llvm/dist/llvm/lib/Transforms/Scalar/ |
| JumpThreading.cpp | 192 // [Block PredBB] 242 auto *PredBB = IncomingBB; 246 BranchInst *PredBr = dyn_cast<BranchInst>(PredBB->getTerminator()); 248 return {PredBB, SuccBB}; 249 Visited.insert(PredBB); 250 auto *SinglePredBB = PredBB->getSinglePredecessor(); 259 SuccBB = PredBB; 260 PredBB = SinglePredBB; 281 BasicBlock *PredBB = PredOutEdge.first; 282 BranchInst *PredBr = dyn_cast<BranchInst>(PredBB->getTerminator()) [all...] |
| SpeculateAroundPHIs.cpp | 576 for (auto *PredBB : PredSet) { 578 PredBB, ParentBB, 582 LLVM_DEBUG(dbgs() << " Split critical edge from: " << PredBB->getName() 586 assert(PredBB->getSingleSuccessor() == ParentBB && 588 assert(!isa<InvokeInst>(PredBB->getTerminator()) && 592 SpecPreds.push_back(PredBB); 653 for (auto *PredBB : SpecPreds) 654 SpeculatedVals.push_back(IncomingValueMap.find(PredBB)->second); 659 auto *PredBB = SpecPreds[PredIdx]; 660 assert(PredBB->getSingleSuccessor() == ParentBB & [all...] |
| SimpleLoopUnswitch.cpp | 1444 for (BasicBlock *PredBB : predecessors(BB)) { 1447 if (!UnloopedBlockSet.erase(PredBB)) { 1449 (BlocksInClonedLoop.count(PredBB) || ExitLoopMap.count(PredBB)) && 1457 bool Inserted = ExitLoopMap.insert({PredBB, ExitL}).second; 1462 Worklist.push_back(PredBB); 1848 for (BasicBlock *PredBB : predecessors(BB)) { 1851 if (!UnloopedBlocks.erase(PredBB)) { 1852 assert((NewExitLoopBlocks.count(PredBB) || 1853 ExitL.contains(LI.getLoopFor(PredBB))) & [all...] |
| /src/external/apache2/llvm/dist/llvm/lib/Transforms/Vectorize/ |
| VPlanPredicator.h | 49 /// \p PredBB to \p CurrentBlock. 50 VPValue *getOrCreateNotPredicate(VPBasicBlock *PredBB, VPBasicBlock *CurrBB);
|
| VPlanPredicator.cpp | 28 // predicate being propagated from PredBB to CurrBB depending on the edge type 30 // i. PredBB is controlled by predicate %BP, and 31 // ii. The edge PredBB->CurrBB is the false edge, controlled by the condition 37 VPValue *VPlanPredicator::getOrCreateNotPredicate(VPBasicBlock *PredBB, 39 VPValue *CBV = PredBB->getCondBit(); 43 EdgeType ET = getEdgeTypeBetween(PredBB, CurrBB); 47 // CurrBB is the true successor of PredBB - nothing to do here. 52 // CurrBB is the False successor of PredBB - compute not of CBV. 57 // Now AND intermediate value with PredBB's block predicate if it has one. 58 VPValue *BP = PredBB->getPredicate() [all...] |
| /src/external/apache2/llvm/dist/llvm/include/llvm/CodeGen/ |
| TailDuplicator.h | 81 /// Returns true if TailBB can successfully be duplicated into PredBB 82 bool canTailDuplicate(MachineBasicBlock *TailBB, MachineBasicBlock *PredBB); 104 MachineBasicBlock *PredBB, 109 MachineBasicBlock *PredBB,
|
| /src/external/apache2/llvm/dist/llvm/lib/Target/XCore/ |
| XCoreLowerThreadLocal.cpp | 89 BasicBlock *PredBB = PN->getIncomingBlock(I); 90 if (PredBB->getTerminator()->getNumSuccessors() > 1) 91 PredBB = SplitEdge(PredBB, PN->getParent()); 92 Instruction *InsertPos = PredBB->getTerminator();
|
| /src/external/apache2/llvm/dist/llvm/include/llvm/Transforms/Scalar/ |
| JumpThreading.h | 122 BasicBlock *PredBB); 148 void threadThroughTwoBasicBlocks(BasicBlock *PredPredBB, BasicBlock *PredBB, 172 void updateBlockFreqAndEdgeWeight(BasicBlock *PredBB, BasicBlock *BB,
|
| /src/external/apache2/llvm/dist/llvm/lib/Transforms/ObjCARC/ |
| DependencyAnalysis.cpp | 234 BasicBlock *PredBB = *PI; 235 if (Visited.insert(PredBB).second) 236 Worklist.push_back(std::make_pair(PredBB, PredBB->end()));
|
| /src/external/apache2/llvm/dist/llvm/lib/Transforms/Utils/ |
| SSAUpdater.cpp | 114 BasicBlock *PredBB = SomePhi->getIncomingBlock(i); 115 Value *PredVal = GetValueAtEndOfBlock(PredBB); 116 PredValues.push_back(std::make_pair(PredBB, PredVal)); 126 for (BasicBlock *PredBB : predecessors(BB)) { 127 Value *PredVal = GetValueAtEndOfBlock(PredBB); 128 PredValues.push_back(std::make_pair(PredBB, PredVal));
|
| BasicBlockUtils.cpp | 181 BasicBlock *PredBB = BB->getUniquePredecessor(); 182 if (!PredBB) return false; 185 if (PredBB == BB) return false; 187 if (PredBB->getTerminator()->isExceptionalTerminator()) 191 if (!PredecessorWithTwoSuccessors && PredBB->getUniqueSuccessor() != BB) 194 // Currently only allow PredBB to have two predecessors, one being BB. 200 if (!(PredBB_BI = dyn_cast<BranchInst>(PredBB->getTerminator()))) 215 << PredBB->getName() << "\n"); 232 SmallPtrSet<BasicBlock *, 2> SuccsOfPredBB(succ_begin(PredBB), 233 succ_begin(PredBB)); [all...] |
| BreakCriticalEdges.cpp | 331 BasicBlock *PredBB = PN->getIncomingBlock(Pred); 332 Instruction *PredTerm = PredBB->getTerminator(); 337 IBB = PredBB; 341 OtherPreds.push_back(PredBB);
|
| CloneFunction.cpp | 885 BasicBlock *BB, BasicBlock *PredBB, Instruction *StopAt, 888 assert(count(successors(PredBB), BB) == 1 && 889 "There must be a single edge between PredBB and BB!"); 892 // account for entry from PredBB. 895 ValueMapping[PN] = PN->getIncomingValueForBlock(PredBB); 897 BasicBlock *NewBB = SplitEdge(PredBB, BB); 898 NewBB->setName(PredBB->getName() + ".split"); 903 DTU.applyUpdates({{DominatorTree::Delete, PredBB, BB}, 904 {DominatorTree::Insert, PredBB, NewBB},
|
| /src/external/apache2/llvm/dist/llvm/lib/Transforms/IPO/ |
| BlockExtractor.cpp | 163 for (auto PredBB : predecessors(LPad)) { 164 if (PredBB->isLandingPad() && PredBB != Parent &&
|
| HotColdSplitting.cpp | 471 BasicBlock &PredBB = **PredIt; 472 bool SinkPostDom = PDT.dominates(&SinkBB, &PredBB); 476 if (SinkPostDom && pred_empty(&PredBB)) { 483 if (!SinkPostDom || !mayExtractBlock(PredBB)) { 491 unsigned PredScore = getEntryPointScore(PredBB, PredIt.getPathLength()); 493 ColdRegion->SuggestedEntryPoint = &PredBB; 497 addBlockToRegion(&PredBB, PredScore);
|
| /src/external/apache2/llvm/dist/llvm/lib/IR/ |
| BasicBlock.cpp | 275 const BasicBlock *PredBB = *PI; 278 if (*PI != PredBB) 283 return PredBB;
|