/external/llvm/lib/CodeGen/ |
D | TailDuplicator.cpp | 84 MachineBasicBlock *PredBB = *PI; in VerifyPHIs() local 88 if (PHIBB == PredBB) { in VerifyPHIs() 96 << PredBB->getNumber() << '\n'; in VerifyPHIs() 304 MachineInstr *MI, MachineBasicBlock *TailBB, MachineBasicBlock *PredBB, in processPHI() argument 309 unsigned SrcOpIdx = getPHISrcRegOpIdx(MI, PredBB); in processPHI() 321 addSSAUpdateEntry(DefReg, NewDef, PredBB); in processPHI() 336 MachineInstr *MI, MachineBasicBlock *TailBB, MachineBasicBlock *PredBB, in duplicateInstruction() argument 355 addSSAUpdateEntry(Reg, NewReg, PredBB); in duplicateInstruction() 396 BuildMI(*PredBB, MI, MI->getDebugLoc(), in duplicateInstruction() 414 PredBB->insert(PredBB->instr_end(), NewMI); in duplicateInstruction() [all …]
|
D | MachineDominators.cpp | 99 for (MachineBasicBlock *PredBB : Succ->predecessors()) { in applySplitCriticalEdges() 100 if (PredBB == Edge.NewBB) in applySplitCriticalEdges() 114 if (NewBBs.count(PredBB)) { in applySplitCriticalEdges() 115 assert(PredBB->pred_size() == 1 && "A basic block resulting from a " in applySplitCriticalEdges() 118 PredBB = *PredBB->pred_begin(); in applySplitCriticalEdges() 120 if (!DT->dominates(SuccDTNode, DT->getNode(PredBB))) { in applySplitCriticalEdges()
|
D | BranchFolding.cpp | 599 MachineBasicBlock *PredBB, in ProfitableToMerge() argument 620 if (MBB1 == PredBB || MBB2 == PredBB) { in ProfitableToMerge() 622 unsigned NumTerms = CountTerminators(MBB1 == PredBB ? MBB2 : MBB1, I); in ProfitableToMerge() 640 if (SuccBB && MBB1 != PredBB && MBB2 != PredBB && in ProfitableToMerge() 671 MachineBasicBlock *PredBB) { in ComputeSameTails() argument 684 SuccBB, PredBB, in ComputeSameTails() 707 MachineBasicBlock *PredBB) { in RemoveBlocksWithHash() argument 714 if (SuccBB && CurMBB != PredBB) in RemoveBlocksWithHash() 726 bool BranchFolder::CreateCommonTailOnlyBlock(MachineBasicBlock *&PredBB, in CreateCommonTailOnlyBlock() argument 734 if (SameTails[i].getBlock() == PredBB) { in CreateCommonTailOnlyBlock() [all …]
|
D | BranchFolding.h | 132 MachineBasicBlock* PredBB); 142 MachineBasicBlock *PredBB); 144 MachineBasicBlock* PredBB); 145 bool CreateCommonTailOnlyBlock(MachineBasicBlock *&PredBB,
|
/external/swiftshader/third_party/LLVM/lib/CodeGen/ |
D | TailDuplication.cpp | 83 MachineBasicBlock *PredBB, 90 MachineBasicBlock *PredBB, 148 MachineBasicBlock *PredBB = *PI; in VerifyPHIs() local 152 if (PHIBB == PredBB) { in VerifyPHIs() 160 << PredBB->getNumber() << '\n'; in VerifyPHIs() 377 MachineBasicBlock *PredBB, in ProcessPHI() argument 383 unsigned SrcOpIdx = getPHISrcRegOpIdx(MI, PredBB); in ProcessPHI() 394 AddSSAUpdateEntry(DefReg, NewDef, PredBB); in ProcessPHI() 410 MachineBasicBlock *PredBB, in DuplicateInstruction() argument 428 AddSSAUpdateEntry(Reg, NewReg, PredBB); in DuplicateInstruction() [all …]
|
D | BranchFolding.cpp | 522 MachineBasicBlock *PredBB) { in ProfitableToMerge() argument 532 if (MBB1 == PredBB || MBB2 == PredBB) { in ProfitableToMerge() 534 unsigned NumTerms = CountTerminators(MBB1 == PredBB ? MBB2 : MBB1, I); in ProfitableToMerge() 552 if (SuccBB && MBB1 != PredBB && MBB2 != PredBB && in ProfitableToMerge() 587 MachineBasicBlock *PredBB) { in ComputeSameTails() argument 601 SuccBB, PredBB)) { in ComputeSameTails() 623 MachineBasicBlock *PredBB) { in RemoveBlocksWithHash() argument 630 if (SuccBB && CurMBB != PredBB) in RemoveBlocksWithHash() 642 bool BranchFolder::CreateCommonTailOnlyBlock(MachineBasicBlock *&PredBB, in CreateCommonTailOnlyBlock() argument 649 if (SameTails[i].getBlock() == PredBB) { in CreateCommonTailOnlyBlock() [all …]
|
D | BranchFolding.h | 97 MachineBasicBlock* PredBB); 106 MachineBasicBlock *PredBB); 108 MachineBasicBlock* PredBB); 109 bool CreateCommonTailOnlyBlock(MachineBasicBlock *&PredBB,
|
D | StrongPHIElimination.cpp | 669 MachineBasicBlock *PredBB = PHI->getOperand(i + 1).getMBB(); in InsertCopiesForPHI() local 676 SlotIndex PredIndex = LI->getMBBEndIdx(PredBB); in InsertCopiesForPHI() 686 = InsertedSrcCopyMap.find(std::make_pair(PredBB, PHIColor)); in InsertCopiesForPHI() 696 CopyInsertPoint = findPHICopyInsertPoint(PredBB, MBB, SrcReg); in InsertCopiesForPHI() 698 MachineInstr *CopyInstr = BuildMI(*PredBB, in InsertCopiesForPHI() 709 InsertedSrcCopySet.insert(std::make_pair(PredBB, SrcReg)); in InsertCopiesForPHI() 720 if (!InsertedSrcCopyMap.count(std::make_pair(PredBB, PHIColor))) in InsertCopiesForPHI() 721 InsertedSrcCopyMap[std::make_pair(PredBB, PHIColor)] = CopyInstr; in InsertCopiesForPHI()
|
/external/swiftshader/third_party/LLVM/lib/Analysis/ |
D | PHITransAddr.cpp | 145 BasicBlock *PredBB, in PHITranslateSubExpr() argument 170 return AddAsInput(PN->getIncomingValueForBlock(PredBB)); in PHITranslateSubExpr() 190 Value *PHIIn = PHITranslateSubExpr(Cast->getOperand(0), CurBB, PredBB, DT); in PHITranslateSubExpr() 209 (!DT || DT->dominates(CastI->getParent(), PredBB))) in PHITranslateSubExpr() 220 Value *GEPOp = PHITranslateSubExpr(GEP->getOperand(i), CurBB, PredBB, DT); in PHITranslateSubExpr() 246 (!DT || DT->dominates(GEPI->getParent(), PredBB))) { in PHITranslateSubExpr() 268 Value *LHS = PHITranslateSubExpr(Inst->getOperand(0), CurBB, PredBB, DT); in PHITranslateSubExpr() 305 (!DT || DT->dominates(BO->getParent(), PredBB))) in PHITranslateSubExpr() 321 bool PHITransAddr::PHITranslateValue(BasicBlock *CurBB, BasicBlock *PredBB, in PHITranslateValue() argument 324 Addr = PHITranslateSubExpr(Addr, CurBB, PredBB, DT); in PHITranslateValue() [all …]
|
/external/llvm/lib/Analysis/ |
D | PHITransAddr.cpp | 146 BasicBlock *PredBB, in PHITranslateSubExpr() argument 172 return AddAsInput(PN->getIncomingValueForBlock(PredBB)); in PHITranslateSubExpr() 192 Value *PHIIn = PHITranslateSubExpr(Cast->getOperand(0), CurBB, PredBB, DT); in PHITranslateSubExpr() 210 (!DT || DT->dominates(CastI->getParent(), PredBB))) in PHITranslateSubExpr() 221 Value *GEPOp = PHITranslateSubExpr(GEP->getOperand(i), CurBB, PredBB, DT); in PHITranslateSubExpr() 247 (!DT || DT->dominates(GEPI->getParent(), PredBB))) { in PHITranslateSubExpr() 263 Value *LHS = PHITranslateSubExpr(Inst->getOperand(0), CurBB, PredBB, DT); in PHITranslateSubExpr() 300 (!DT || DT->dominates(BO->getParent(), PredBB))) in PHITranslateSubExpr() 316 bool PHITransAddr::PHITranslateValue(BasicBlock *CurBB, BasicBlock *PredBB, in PHITranslateValue() argument 321 if (DT && DT->isReachableFromEntry(PredBB)) in PHITranslateValue() [all …]
|
/external/llvm/lib/Transforms/Scalar/ |
D | JumpThreading.cpp | 553 BasicBlock *PredBB = PN->getIncomingBlock(i); in ComputeValueKnownInPredecessors() local 555 Value *RHS = Cmp->getOperand(1)->DoPHITranslation(BB, PredBB); in ComputeValueKnownInPredecessors() 564 cast<Constant>(RHS), PredBB, BB, in ComputeValueKnownInPredecessors() 572 Result.push_back(std::make_pair(KC, PredBB)); in ComputeValueKnownInPredecessors() 988 for (BasicBlock *PredBB : predecessors(LoadBB)) { in SimplifyPartiallyRedundantLoad() 990 if (!PredsScanned.insert(PredBB).second) in SimplifyPartiallyRedundantLoad() 994 BBIt = PredBB->end(); in SimplifyPartiallyRedundantLoad() 996 Value *PredAvailable = FindAvailableLoadedValue(LI, PredBB, BBIt, in SimplifyPartiallyRedundantLoad() 1000 OneUnavailablePred = PredBB; in SimplifyPartiallyRedundantLoad() 1009 AvailablePreds.push_back(std::make_pair(PredBB, PredAvailable)); in SimplifyPartiallyRedundantLoad() [all …]
|
/external/swiftshader/third_party/LLVM/lib/Transforms/Scalar/ |
D | JumpThreading.cpp | 473 BasicBlock *PredBB = PN->getIncomingBlock(i); in ComputeValueKnownInPredecessors() local 475 Value *RHS = Cmp->getOperand(1)->DoPHITranslation(BB, PredBB); in ComputeValueKnownInPredecessors() 484 cast<Constant>(RHS), PredBB, BB); in ComputeValueKnownInPredecessors() 491 Result.push_back(std::make_pair(KC, PredBB)); in ComputeValueKnownInPredecessors() 865 BasicBlock *PredBB = *PI; in SimplifyPartiallyRedundantLoad() local 868 if (!PredsScanned.insert(PredBB)) in SimplifyPartiallyRedundantLoad() 872 BBIt = PredBB->end(); in SimplifyPartiallyRedundantLoad() 873 Value *PredAvailable = FindAvailableLoadedValue(LoadedPtr, PredBB, BBIt, 6); in SimplifyPartiallyRedundantLoad() 875 OneUnavailablePred = PredBB; in SimplifyPartiallyRedundantLoad() 881 AvailablePreds.push_back(std::make_pair(PredBB, PredAvailable)); in SimplifyPartiallyRedundantLoad() [all …]
|
/external/swiftshader/third_party/LLVM/include/llvm/Analysis/ |
D | PHITransAddr.h | 72 bool PHITranslateValue(BasicBlock *CurBB, BasicBlock *PredBB, 82 Value *PHITranslateWithInsertion(BasicBlock *CurBB, BasicBlock *PredBB, 93 Value *PHITranslateSubExpr(Value *V, BasicBlock *CurBB, BasicBlock *PredBB, 102 BasicBlock *PredBB, const DominatorTree &DT,
|
/external/llvm/include/llvm/Analysis/ |
D | PHITransAddr.h | 82 bool PHITranslateValue(BasicBlock *CurBB, BasicBlock *PredBB, 92 Value *PHITranslateWithInsertion(BasicBlock *CurBB, BasicBlock *PredBB, 104 Value *PHITranslateSubExpr(Value *V, BasicBlock *CurBB, BasicBlock *PredBB, 113 BasicBlock *PredBB, const DominatorTree &DT,
|
D | LoopInfoImpl.h | 357 BlockT *PredBB = ReverseCFGWorklist.back(); in discoverAndMapSubloop() local 360 LoopT *Subloop = LI->getLoopFor(PredBB); in discoverAndMapSubloop() 362 if (!DomTree.isReachableFromEntry(PredBB)) in discoverAndMapSubloop() 366 LI->changeLoopFor(PredBB, L); in discoverAndMapSubloop() 368 if (PredBB == L->getHeader()) in discoverAndMapSubloop() 372 InvBlockTraits::child_begin(PredBB), in discoverAndMapSubloop() 373 InvBlockTraits::child_end(PredBB)); in discoverAndMapSubloop() 388 PredBB = Subloop->getHeader(); in discoverAndMapSubloop() 394 InvBlockTraits::child_begin(PredBB), in discoverAndMapSubloop() 395 PE = InvBlockTraits::child_end(PredBB); PI != PE; ++PI) { in discoverAndMapSubloop()
|
/external/swiftshader/third_party/LLVM/lib/Transforms/Utils/ |
D | BasicBlockUtils.cpp | 120 BasicBlock *PredBB = BB->getUniquePredecessor(); in MergeBlockIntoPredecessor() local 121 if (!PredBB) return false; in MergeBlockIntoPredecessor() 124 if (PredBB == BB) return false; in MergeBlockIntoPredecessor() 126 if (isa<InvokeInst>(PredBB->getTerminator())) return false; in MergeBlockIntoPredecessor() 128 succ_iterator SI(succ_begin(PredBB)), SE(succ_end(PredBB)); in MergeBlockIntoPredecessor() 154 PredBB->getInstList().pop_back(); in MergeBlockIntoPredecessor() 158 BB->replaceAllUsesWith(PredBB); in MergeBlockIntoPredecessor() 161 PredBB->getInstList().splice(PredBB->end(), BB->getInstList()); in MergeBlockIntoPredecessor() 164 if (!PredBB->hasName()) in MergeBlockIntoPredecessor() 165 PredBB->takeName(BB); in MergeBlockIntoPredecessor() [all …]
|
D | Local.cpp | 436 BasicBlock *PredBB = DestBB->getSinglePredecessor(); in MergeBasicBlockIntoOnlyPred() local 437 assert(PredBB && "Block doesn't have a single predecessor!"); in MergeBasicBlockIntoOnlyPred() 451 PredBB->replaceAllUsesWith(DestBB); in MergeBasicBlockIntoOnlyPred() 454 PredBB->getTerminator()->eraseFromParent(); in MergeBasicBlockIntoOnlyPred() 455 DestBB->getInstList().splice(DestBB->begin(), PredBB->getInstList()); in MergeBasicBlockIntoOnlyPred() 460 BasicBlock *PredBBIDom = DT->getNode(PredBB)->getIDom()->getBlock(); in MergeBasicBlockIntoOnlyPred() 462 DT->eraseNode(PredBB); in MergeBasicBlockIntoOnlyPred() 466 PI->replaceAllUses(PredBB, DestBB); in MergeBasicBlockIntoOnlyPred() 467 PI->removeEdge(ProfileInfo::getEdge(PredBB, DestBB)); in MergeBasicBlockIntoOnlyPred() 471 PredBB->eraseFromParent(); in MergeBasicBlockIntoOnlyPred()
|
D | SSAUpdater.cpp | 131 BasicBlock *PredBB = SomePhi->getIncomingBlock(i); in GetValueInMiddleOfBlock() local 132 Value *PredVal = GetValueAtEndOfBlock(PredBB); in GetValueInMiddleOfBlock() 133 PredValues.push_back(std::make_pair(PredBB, PredVal)); in GetValueInMiddleOfBlock() 144 BasicBlock *PredBB = *PI; in GetValueInMiddleOfBlock() local 145 Value *PredVal = GetValueAtEndOfBlock(PredBB); in GetValueInMiddleOfBlock() 146 PredValues.push_back(std::make_pair(PredBB, PredVal)); in GetValueInMiddleOfBlock()
|
/external/llvm/lib/Transforms/Utils/ |
D | BasicBlockUtils.cpp | 102 BasicBlock *PredBB = BB->getUniquePredecessor(); in MergeBlockIntoPredecessor() local 103 if (!PredBB) return false; in MergeBlockIntoPredecessor() 106 if (PredBB == BB) return false; in MergeBlockIntoPredecessor() 108 if (PredBB->getTerminator()->isExceptional()) in MergeBlockIntoPredecessor() 111 succ_iterator SI(succ_begin(PredBB)), SE(succ_end(PredBB)); in MergeBlockIntoPredecessor() 137 PredBB->getInstList().pop_back(); in MergeBlockIntoPredecessor() 141 BB->replaceAllUsesWith(PredBB); in MergeBlockIntoPredecessor() 144 PredBB->getInstList().splice(PredBB->end(), BB->getInstList()); in MergeBlockIntoPredecessor() 147 if (!PredBB->hasName()) in MergeBlockIntoPredecessor() 148 PredBB->takeName(BB); in MergeBlockIntoPredecessor() [all …]
|
D | SSAUpdater.cpp | 102 BasicBlock *PredBB = SomePhi->getIncomingBlock(i); in GetValueInMiddleOfBlock() local 103 Value *PredVal = GetValueAtEndOfBlock(PredBB); in GetValueInMiddleOfBlock() 104 PredValues.push_back(std::make_pair(PredBB, PredVal)); in GetValueInMiddleOfBlock() 115 BasicBlock *PredBB = *PI; in GetValueInMiddleOfBlock() local 116 Value *PredVal = GetValueAtEndOfBlock(PredBB); in GetValueInMiddleOfBlock() 117 PredValues.push_back(std::make_pair(PredBB, PredVal)); in GetValueInMiddleOfBlock()
|
D | Local.cpp | 578 BasicBlock *PredBB = DestBB->getSinglePredecessor(); in MergeBasicBlockIntoOnlyPred() local 579 assert(PredBB && "Block doesn't have a single predecessor!"); in MergeBasicBlockIntoOnlyPred() 593 PredBB->replaceAllUsesWith(DestBB); in MergeBasicBlockIntoOnlyPred() 596 PredBB->getTerminator()->eraseFromParent(); in MergeBasicBlockIntoOnlyPred() 597 DestBB->getInstList().splice(DestBB->begin(), PredBB->getInstList()); in MergeBasicBlockIntoOnlyPred() 601 if (PredBB == &DestBB->getParent()->getEntryBlock()) in MergeBasicBlockIntoOnlyPred() 602 DestBB->moveAfter(PredBB); in MergeBasicBlockIntoOnlyPred() 605 BasicBlock *PredBBIDom = DT->getNode(PredBB)->getIDom()->getBlock(); in MergeBasicBlockIntoOnlyPred() 607 DT->eraseNode(PredBB); in MergeBasicBlockIntoOnlyPred() 610 PredBB->eraseFromParent(); in MergeBasicBlockIntoOnlyPred() [all …]
|
/external/llvm/lib/Target/XCore/ |
D | XCoreLowerThreadLocal.cpp | 139 BasicBlock *PredBB = PN->getIncomingBlock(I); in replaceConstantExprOp() local 140 if (PredBB->getTerminator()->getNumSuccessors() > 1) in replaceConstantExprOp() 141 PredBB = SplitEdge(PredBB, PN->getParent()); in replaceConstantExprOp() 142 Instruction *InsertPos = PredBB->getTerminator(); in replaceConstantExprOp()
|
/external/llvm/lib/Transforms/ObjCARC/ |
D | DependencyAnalysis.cpp | 248 BasicBlock *PredBB = *PI; in FindDependencies() local 249 if (Visited.insert(PredBB).second) in FindDependencies() 250 Worklist.push_back(std::make_pair(PredBB, PredBB->end())); in FindDependencies()
|
/external/llvm/include/llvm/CodeGen/ |
D | TailDuplicator.h | 63 MachineBasicBlock *PredBB, 68 MachineBasicBlock *PredBB, MachineFunction &MF,
|
/external/swiftshader/third_party/LLVM/include/llvm/ |
D | Value.h | 292 Value *DoPHITranslation(const BasicBlock *CurBB, const BasicBlock *PredBB); 295 const BasicBlock *PredBB) const{ in DoPHITranslation() argument 296 return const_cast<Value*>(this)->DoPHITranslation(CurBB, PredBB); in DoPHITranslation()
|