Home
last modified time | relevance | path

Searched refs:PredBB (Results 1 – 25 of 52) sorted by relevance

123

/external/llvm/lib/CodeGen/
DTailDuplicator.cpp84 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 …]
DMachineDominators.cpp99 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()
DBranchFolding.cpp599 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 …]
DBranchFolding.h132 MachineBasicBlock* PredBB);
142 MachineBasicBlock *PredBB);
144 MachineBasicBlock* PredBB);
145 bool CreateCommonTailOnlyBlock(MachineBasicBlock *&PredBB,
/external/swiftshader/third_party/LLVM/lib/CodeGen/
DTailDuplication.cpp83 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 …]
DBranchFolding.cpp522 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 …]
DBranchFolding.h97 MachineBasicBlock* PredBB);
106 MachineBasicBlock *PredBB);
108 MachineBasicBlock* PredBB);
109 bool CreateCommonTailOnlyBlock(MachineBasicBlock *&PredBB,
DStrongPHIElimination.cpp669 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/
DPHITransAddr.cpp145 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/
DPHITransAddr.cpp146 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/
DJumpThreading.cpp553 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/
DJumpThreading.cpp473 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/
DPHITransAddr.h72 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/
DPHITransAddr.h82 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,
DLoopInfoImpl.h357 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/
DBasicBlockUtils.cpp120 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 …]
DLocal.cpp436 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()
DSSAUpdater.cpp131 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/
DBasicBlockUtils.cpp102 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 …]
DSSAUpdater.cpp102 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()
DLocal.cpp578 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/
DXCoreLowerThreadLocal.cpp139 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/
DDependencyAnalysis.cpp248 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/
DTailDuplicator.h63 MachineBasicBlock *PredBB,
68 MachineBasicBlock *PredBB, MachineFunction &MF,
/external/swiftshader/third_party/LLVM/include/llvm/
DValue.h292 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()

123