Home
last modified time | relevance | path

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

/external/llvm/lib/CodeGen/
DTailDuplication.cpp87 MachineBasicBlock *PredBB,
94 MachineBasicBlock *PredBB,
158 MachineBasicBlock *PredBB = *PI; in VerifyPHIs() local
162 if (PHIBB == PredBB) { in VerifyPHIs()
170 << PredBB->getNumber() << '\n'; in VerifyPHIs()
387 MachineBasicBlock *PredBB, in ProcessPHI() argument
393 unsigned SrcOpIdx = getPHISrcRegOpIdx(MI, PredBB); in ProcessPHI()
404 AddSSAUpdateEntry(DefReg, NewDef, PredBB); in ProcessPHI()
420 MachineBasicBlock *PredBB, in DuplicateInstruction() argument
438 AddSSAUpdateEntry(Reg, NewReg, PredBB); in DuplicateInstruction()
[all …]
DBranchFolding.cpp528 MachineBasicBlock *PredBB) { in ProfitableToMerge() argument
538 if (MBB1 == PredBB || MBB2 == PredBB) { in ProfitableToMerge()
540 unsigned NumTerms = CountTerminators(MBB1 == PredBB ? MBB2 : MBB1, I); in ProfitableToMerge()
558 if (SuccBB && MBB1 != PredBB && MBB2 != PredBB && in ProfitableToMerge()
594 MachineBasicBlock *PredBB) { in ComputeSameTails() argument
608 SuccBB, PredBB)) { in ComputeSameTails()
630 MachineBasicBlock *PredBB) { in RemoveBlocksWithHash() argument
637 if (SuccBB && CurMBB != PredBB) in RemoveBlocksWithHash()
649 bool BranchFolder::CreateCommonTailOnlyBlock(MachineBasicBlock *&PredBB, in CreateCommonTailOnlyBlock() argument
656 if (SameTails[i].getBlock() == PredBB) { in CreateCommonTailOnlyBlock()
[all …]
DBranchFolding.h97 MachineBasicBlock* PredBB);
106 MachineBasicBlock *PredBB);
108 MachineBasicBlock* PredBB);
109 bool CreateCommonTailOnlyBlock(MachineBasicBlock *&PredBB,
DStrongPHIElimination.cpp666 MachineBasicBlock *PredBB = PHI->getOperand(i + 1).getMBB(); in InsertCopiesForPHI() local
673 SlotIndex PredIndex = LI->getMBBEndIdx(PredBB); in InsertCopiesForPHI()
683 = InsertedSrcCopyMap.find(std::make_pair(PredBB, PHIColor)); in InsertCopiesForPHI()
693 CopyInsertPoint = findPHICopyInsertPoint(PredBB, MBB, SrcReg); in InsertCopiesForPHI()
695 MachineInstr *CopyInstr = BuildMI(*PredBB, in InsertCopiesForPHI()
706 InsertedSrcCopySet.insert(std::make_pair(PredBB, SrcReg)); in InsertCopiesForPHI()
718 InsertedSrcCopyMap.insert(std::make_pair(std::make_pair(PredBB, PHIColor), in InsertCopiesForPHI()
DMachineSSAUpdater.cpp163 MachineBasicBlock *PredBB = *PI; in GetValueInMiddleOfBlock() local
164 unsigned PredVal = GetValueAtEndOfBlockInternal(PredBB); in GetValueInMiddleOfBlock()
165 PredValues.push_back(std::make_pair(PredBB, PredVal)); in GetValueInMiddleOfBlock()
DMachineBasicBlock.cpp865 MachineBasicBlock *PredBB = *PI; in SplitCriticalEdge() local
866 if (PredBB == NMBB) in SplitCriticalEdge()
868 if (!MDT->dominates(SucccDTNode, MDT->getNode(PredBB))) { in SplitCriticalEdge()
/external/llvm/lib/Analysis/
DPHITransAddr.cpp146 BasicBlock *PredBB, in PHITranslateSubExpr() argument
171 return AddAsInput(PN->getIncomingValueForBlock(PredBB)); in PHITranslateSubExpr()
191 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()
269 Value *LHS = PHITranslateSubExpr(Inst->getOperand(0), CurBB, PredBB, DT); in PHITranslateSubExpr()
306 (!DT || DT->dominates(BO->getParent(), PredBB))) in PHITranslateSubExpr()
322 bool PHITransAddr::PHITranslateValue(BasicBlock *CurBB, BasicBlock *PredBB, in PHITranslateValue() argument
325 Addr = PHITranslateSubExpr(Addr, CurBB, PredBB, DT); in PHITranslateValue()
[all …]
DLazyValueInfo.cpp398 void threadEdge(BasicBlock *PredBB,BasicBlock *OldSucc,BasicBlock *NewSucc);
941 void LazyValueInfoCache::threadEdge(BasicBlock *PredBB, BasicBlock *OldSucc, in threadEdge() argument
1136 void LazyValueInfo::threadEdge(BasicBlock *PredBB, BasicBlock *OldSucc, in threadEdge() argument
1138 if (PImpl) getCache(PImpl).threadEdge(PredBB, OldSucc, NewSucc); in threadEdge()
/external/llvm/lib/Transforms/Scalar/
DJumpThreading.cpp487 BasicBlock *PredBB = PN->getIncomingBlock(i); in ComputeValueKnownInPredecessors() local
489 Value *RHS = Cmp->getOperand(1)->DoPHITranslation(BB, PredBB); in ComputeValueKnownInPredecessors()
498 cast<Constant>(RHS), PredBB, BB); in ComputeValueKnownInPredecessors()
505 Result.push_back(std::make_pair(KC, PredBB)); in ComputeValueKnownInPredecessors()
884 BasicBlock *PredBB = *PI; in SimplifyPartiallyRedundantLoad() local
887 if (!PredsScanned.insert(PredBB)) in SimplifyPartiallyRedundantLoad()
891 BBIt = PredBB->end(); in SimplifyPartiallyRedundantLoad()
893 Value *PredAvailable = FindAvailableLoadedValue(LoadedPtr, PredBB, BBIt, 6, in SimplifyPartiallyRedundantLoad()
896 OneUnavailablePred = PredBB; in SimplifyPartiallyRedundantLoad()
905 AvailablePreds.push_back(std::make_pair(PredBB, PredAvailable)); in SimplifyPartiallyRedundantLoad()
[all …]
/external/llvm/include/llvm/Analysis/
DPHITransAddr.h76 bool PHITranslateValue(BasicBlock *CurBB, BasicBlock *PredBB,
86 Value *PHITranslateWithInsertion(BasicBlock *CurBB, BasicBlock *PredBB,
97 Value *PHITranslateSubExpr(Value *V, BasicBlock *CurBB, BasicBlock *PredBB,
106 BasicBlock *PredBB, const DominatorTree &DT,
DLoopInfoImpl.h376 BlockT *PredBB = ReverseCFGWorklist.back(); in discoverAndMapSubloop() local
379 LoopT *Subloop = LI->getLoopFor(PredBB); in discoverAndMapSubloop()
381 if (!DomTree.isReachableFromEntry(PredBB)) in discoverAndMapSubloop()
385 LI->changeLoopFor(PredBB, L); in discoverAndMapSubloop()
387 if (PredBB == L->getHeader()) in discoverAndMapSubloop()
391 InvBlockTraits::child_begin(PredBB), in discoverAndMapSubloop()
392 InvBlockTraits::child_end(PredBB)); in discoverAndMapSubloop()
407 PredBB = Subloop->getHeader(); in discoverAndMapSubloop()
413 InvBlockTraits::child_begin(PredBB), in discoverAndMapSubloop()
414 PE = InvBlockTraits::child_end(PredBB); PI != PE; ++PI) { in discoverAndMapSubloop()
DLazyValueInfo.h66 void threadEdge(BasicBlock *PredBB, BasicBlock *OldSucc, BasicBlock *NewSucc);
/external/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 …]
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()
DLocal.cpp490 BasicBlock *PredBB = DestBB->getSinglePredecessor(); in MergeBasicBlockIntoOnlyPred() local
491 assert(PredBB && "Block doesn't have a single predecessor!"); in MergeBasicBlockIntoOnlyPred()
505 PredBB->replaceAllUsesWith(DestBB); in MergeBasicBlockIntoOnlyPred()
508 PredBB->getTerminator()->eraseFromParent(); in MergeBasicBlockIntoOnlyPred()
509 DestBB->getInstList().splice(DestBB->begin(), PredBB->getInstList()); in MergeBasicBlockIntoOnlyPred()
514 BasicBlock *PredBBIDom = DT->getNode(PredBB)->getIDom()->getBlock(); in MergeBasicBlockIntoOnlyPred()
516 DT->eraseNode(PredBB); in MergeBasicBlockIntoOnlyPred()
520 PI->replaceAllUses(PredBB, DestBB); in MergeBasicBlockIntoOnlyPred()
521 PI->removeEdge(ProfileInfo::getEdge(PredBB, DestBB)); in MergeBasicBlockIntoOnlyPred()
525 PredBB->eraseFromParent(); in MergeBasicBlockIntoOnlyPred()
DSimplifyCFG.cpp1570 BasicBlock *PredBB = PN->getIncomingBlock(i); in FoldCondBranchOnPHI() local
1575 if (isa<IndirectBrInst>(PredBB->getTerminator())) continue; in FoldCondBranchOnPHI()
1596 TranslateMap[PN] = PN->getIncomingValueForBlock(PredBB); in FoldCondBranchOnPHI()
1625 TerminatorInst *PredBBTI = PredBB->getTerminator(); in FoldCondBranchOnPHI()
1628 BB->removePredecessor(PredBB); in FoldCondBranchOnPHI()
/external/llvm/lib/Transforms/ObjCARC/
DDependencyAnalysis.cpp229 BasicBlock *PredBB = *PI; in FindDependencies() local
230 if (Visited.insert(PredBB)) in FindDependencies()
231 Worklist.push_back(std::make_pair(PredBB, PredBB->end())); in FindDependencies()
/external/llvm/include/llvm/IR/
DValue.h295 Value *DoPHITranslation(const BasicBlock *CurBB, const BasicBlock *PredBB);
298 const BasicBlock *PredBB) const{ in DoPHITranslation() argument
299 return const_cast<Value*>(this)->DoPHITranslation(CurBB, PredBB); in DoPHITranslation()
DIRBuilder.h102 BasicBlock *PredBB = Phi->getIncomingBlock(U); in SetInsertPoint() local
103 assert(U != PredBB->getTerminator() && "critical edge not split"); in SetInsertPoint()
104 SetInsertPoint(PredBB, PredBB->getTerminator()); in SetInsertPoint()
/external/llvm/lib/IR/
DBasicBlock.cpp199 BasicBlock *PredBB = *PI; in getUniquePredecessor() local
202 if (*PI != PredBB) in getUniquePredecessor()
207 return PredBB; in getUniquePredecessor()
DValue.cpp468 const BasicBlock *PredBB) { in DoPHITranslation() argument
471 return PN->getIncomingValueForBlock(PredBB); in DoPHITranslation()
/external/llvm/lib/Transforms/InstCombine/
DInstructionCombining.cpp1512 BasicBlock *PredBB = FreeInstrBB->getSinglePredecessor(); in tryToMoveFreeBeforeNullTest() local
1518 if (!PredBB) in tryToMoveFreeBeforeNullTest()
1532 TerminatorInst *TI = PredBB->getTerminator(); in tryToMoveFreeBeforeNullTest()