Searched refs:PredBB (Results 1 - 24 of 24) sorted by relevance

/freebsd-11.0-release/contrib/llvm/lib/CodeGen/
H A DMachineDominators.cpp83 for (MachineBasicBlock *PredBB : Succ->predecessors()) {
84 if (PredBB == Edge.NewBB)
98 if (NewBBs.count(PredBB)) {
99 assert(PredBB->pred_size() == 1 && "A basic block resulting from a "
102 PredBB = *PredBB->pred_begin();
104 if (!DT->dominates(SuccDTNode, DT->getNode(PredBB))) {
H A DTailDuplication.cpp92 MachineBasicBlock *PredBB,
99 MachineBasicBlock *PredBB,
173 MachineBasicBlock *PredBB = *PI; local
177 if (PHIBB == PredBB) {
185 << PredBB->getNumber() << '\n';
392 /// Process PHI node in TailBB by turning it into a copy in PredBB. Remember the
393 /// source register that's contributed by PredBB and update SSA update map.
395 MachineInstr *MI, MachineBasicBlock *TailBB, MachineBasicBlock *PredBB,
400 unsigned SrcOpIdx = getPHISrcRegOpIdx(MI, PredBB);
411 AddSSAUpdateEntry(DefReg, NewDef, PredBB);
394 ProcessPHI( MachineInstr *MI, MachineBasicBlock *TailBB, MachineBasicBlock *PredBB, DenseMap<unsigned, unsigned> &LocalVRMap, SmallVectorImpl<std::pair<unsigned, unsigned> > &Copies, const DenseSet<unsigned> &RegsUsedByPhi, bool Remove) argument
425 DuplicateInstruction(MachineInstr *MI, MachineBasicBlock *TailBB, MachineBasicBlock *PredBB, MachineFunction &MF, DenseMap<unsigned, unsigned> &LocalVRMap, const DenseSet<unsigned> &UsedByPhi) argument
695 MachineBasicBlock *PredBB = *PI; local
784 MachineBasicBlock *PredBB = *PI; local
947 MachineBasicBlock *PredBB = *PI; local
[all...]
H A DBranchFolding.h119 MachineBasicBlock* PredBB);
130 MachineBasicBlock *PredBB);
132 MachineBasicBlock* PredBB);
133 bool CreateCommonTailOnlyBlock(MachineBasicBlock *&PredBB,
H A DBranchFolding.cpp568 MachineBasicBlock *PredBB,
589 if (MBB1 == PredBB || MBB2 == PredBB) {
591 unsigned NumTerms = CountTerminators(MBB1 == PredBB ? MBB2 : MBB1, I);
609 if (SuccBB && MBB1 != PredBB && MBB2 != PredBB &&
640 MachineBasicBlock *PredBB) {
653 SuccBB, PredBB,
676 MachineBasicBlock *PredBB) {
683 if (SuccBB && CurMBB != PredBB)
564 ProfitableToMerge(MachineBasicBlock *MBB1, MachineBasicBlock *MBB2, unsigned minCommonTailLength, unsigned &CommonTailLen, MachineBasicBlock::iterator &I1, MachineBasicBlock::iterator &I2, MachineBasicBlock *SuccBB, MachineBasicBlock *PredBB, DenseMap<const MachineBasicBlock *, int> &FuncletMembership) argument
637 ComputeSameTails(unsigned CurHash, unsigned minCommonTailLength, MachineBasicBlock *SuccBB, MachineBasicBlock *PredBB) argument
674 RemoveBlocksWithHash(unsigned CurHash, MachineBasicBlock *SuccBB, MachineBasicBlock *PredBB) argument
695 CreateCommonTailOnlyBlock(MachineBasicBlock *&PredBB, MachineBasicBlock *SuccBB, unsigned maxCommonTailLength, unsigned &commonTailIndex) argument
798 TryTailMergeBlocks(MachineBasicBlock *SuccBB, MachineBasicBlock *PredBB) argument
965 MachineBasicBlock *PredBB = &*std::prev(I); local
[all...]
H A DMachineSSAUpdater.cpp165 MachineBasicBlock *PredBB = *PI; local
166 unsigned PredVal = GetValueAtEndOfBlockInternal(PredBB);
167 PredValues.push_back(std::make_pair(PredBB, PredVal));
/freebsd-11.0-release/contrib/llvm/include/llvm/Analysis/
H A DPHITransAddr.h81 /// PredBB. This returns true on failure and sets Addr to null.
82 bool PHITranslateValue(BasicBlock *CurBB, BasicBlock *PredBB,
92 Value *PHITranslateWithInsertion(BasicBlock *CurBB, BasicBlock *PredBB,
104 Value *PHITranslateSubExpr(Value *V, BasicBlock *CurBB, BasicBlock *PredBB,
108 /// version of 'V' for the edge PredBB->CurBB into the end of the PredBB
113 BasicBlock *PredBB, const DominatorTree &DT,
H A DLazyValueInfo.h74 /// PredBB to OldSucc to be from PredBB to NewSucc instead.
75 void threadEdge(BasicBlock *PredBB, BasicBlock *OldSucc, BasicBlock *NewSucc);
H A DLoopInfoImpl.h357 BlockT *PredBB = ReverseCFGWorklist.back(); local
360 LoopT *Subloop = LI->getLoopFor(PredBB);
362 if (!DomTree.isReachableFromEntry(PredBB))
366 LI->changeLoopFor(PredBB, L);
368 if (PredBB == L->getHeader())
372 InvBlockTraits::child_begin(PredBB),
373 InvBlockTraits::child_end(PredBB));
388 PredBB = Subloop->getHeader();
394 InvBlockTraits::child_begin(PredBB),
395 PE = InvBlockTraits::child_end(PredBB); P
[all...]
/freebsd-11.0-release/contrib/llvm/lib/Analysis/
H A DPHITransAddr.cpp146 BasicBlock *PredBB,
172 return AddAsInput(PN->getIncomingValueForBlock(PredBB));
192 Value *PHIIn = PHITranslateSubExpr(Cast->getOperand(0), CurBB, PredBB, DT);
210 (!DT || DT->dominates(CastI->getParent(), PredBB)))
221 Value *GEPOp = PHITranslateSubExpr(GEP->getOperand(i), CurBB, PredBB, DT);
246 (!DT || DT->dominates(GEPI->getParent(), PredBB))) {
262 Value *LHS = PHITranslateSubExpr(Inst->getOperand(0), CurBB, PredBB, DT);
299 (!DT || DT->dominates(BO->getParent(), PredBB)))
314 /// PredBB. This returns true on failure and sets Addr to null.
315 bool PHITransAddr::PHITranslateValue(BasicBlock *CurBB, BasicBlock *PredBB, argument
145 PHITranslateSubExpr(Value *V, BasicBlock *CurBB, BasicBlock *PredBB, const DominatorTree *DT) argument
344 PHITranslateWithInsertion(BasicBlock *CurBB, BasicBlock *PredBB, const DominatorTree &DT, SmallVectorImpl<Instruction*> &NewInsts) argument
368 InsertPHITranslatedSubExpr(Value *InVal, BasicBlock *CurBB, BasicBlock *PredBB, const DominatorTree &DT, SmallVectorImpl<Instruction*> &NewInsts) argument
[all...]
H A DLazyValueInfo.cpp448 /// PredBB to OldSucc has been threaded to be from PredBB to NewSucc.
449 void threadEdge(BasicBlock *PredBB,BasicBlock *OldSucc,BasicBlock *NewSucc);
1104 void LazyValueInfoCache::threadEdge(BasicBlock *PredBB, BasicBlock *OldSucc, argument
1371 BasicBlock *PredBB = PHI->getIncomingBlock(i); local
1372 // Note that PredBB may be BB itself.
1373 Tristate Result = getPredicateOnEdge(Pred, Incoming, C, PredBB, BB,
1412 void LazyValueInfo::threadEdge(BasicBlock *PredBB, BasicBlock *OldSucc, argument
1415 const DataLayout &DL = PredBB->getModule()->getDataLayout();
1416 getCache(PImpl, AC, &DL, DT).threadEdge(PredBB, OldSuc
[all...]
/freebsd-11.0-release/contrib/llvm/lib/Transforms/Scalar/
H A DJumpThreading.cpp171 void UpdateBlockFreqAndEdgeWeight(BasicBlock *PredBB, BasicBlock *BB,
558 BasicBlock *PredBB = PN->getIncomingBlock(i); local
560 Value *RHS = Cmp->getOperand(1)->DoPHITranslation(BB, PredBB);
569 cast<Constant>(RHS), PredBB, BB,
577 Result.push_back(std::make_pair(KC, PredBB));
989 for (BasicBlock *PredBB : predecessors(LoadBB)) {
991 if (!PredsScanned.insert(PredBB).second)
995 BBIt = PredBB->end();
997 Value *PredAvailable = FindAvailableLoadedValue(LoadedPtr, PredBB, BBIt,
1001 OneUnavailablePred = PredBB;
1295 BasicBlock *PredBB = PN->getIncomingBlock(i); local
1467 BasicBlock *PredBB; local
1606 BasicBlock *PredBB = SplitBlockPredecessors(BB, Preds, Suffix); local
1618 UpdateBlockFreqAndEdgeWeight(BasicBlock *PredBB, BasicBlock *BB, BasicBlock *NewBB, BasicBlock *SuccBB) argument
1704 BasicBlock *PredBB; local
[all...]
H A DLoopStrengthReduce.cpp4809 for (BasicBlock *PredBB : PN->blocks())
4810 if (isa<CatchSwitchInst>(PredBB->getFirstNonPHI()))
/freebsd-11.0-release/contrib/llvm/lib/Target/XCore/
H A DXCoreLowerThreadLocal.cpp139 BasicBlock *PredBB = PN->getIncomingBlock(I); local
140 if (PredBB->getTerminator()->getNumSuccessors() > 1)
141 PredBB = SplitEdge(PredBB, PN->getParent());
142 Instruction *InsertPos = PredBB->getTerminator();
/freebsd-11.0-release/contrib/llvm/lib/Transforms/ObjCARC/
H A DDependencyAnalysis.cpp248 BasicBlock *PredBB = *PI; local
249 if (Visited.insert(PredBB).second)
250 Worklist.push_back(std::make_pair(PredBB, PredBB->end()));
/freebsd-11.0-release/contrib/llvm/lib/Transforms/Utils/
H A DSSAUpdater.cpp102 BasicBlock *PredBB = SomePhi->getIncomingBlock(i); local
103 Value *PredVal = GetValueAtEndOfBlock(PredBB);
104 PredValues.push_back(std::make_pair(PredBB, PredVal));
115 BasicBlock *PredBB = *PI; local
116 Value *PredVal = GetValueAtEndOfBlock(PredBB);
117 PredValues.push_back(std::make_pair(PredBB, PredVal));
H A DBasicBlockUtils.cpp115 BasicBlock *PredBB = BB->getUniquePredecessor();
116 if (!PredBB) return false;
119 if (PredBB == BB) return false;
121 if (PredBB->getTerminator()->isExceptional())
124 succ_iterator SI(succ_begin(PredBB)), SE(succ_end(PredBB));
150 PredBB->getInstList().pop_back();
154 BB->replaceAllUsesWith(PredBB);
157 PredBB->getInstList().splice(PredBB
[all...]
H A DLocal.cpp564 BasicBlock *PredBB = DestBB->getSinglePredecessor(); local
565 assert(PredBB && "Block doesn't have a single predecessor!");
578 // Anything that branched to PredBB now branches to DestBB.
579 PredBB->replaceAllUsesWith(DestBB);
581 // Splice all the instructions from PredBB to DestBB.
582 PredBB->getTerminator()->eraseFromParent();
583 DestBB->getInstList().splice(DestBB->begin(), PredBB->getInstList());
585 // If the PredBB is the entry block of the function, move DestBB up to
586 // become the entry block after we erase PredBB.
587 if (PredBB
773 BasicBlock *PredBB = OldValPN->getIncomingBlock(i); local
786 BasicBlock *PredBB = BBPreds[i]; local
[all...]
H A DSimplifyCFG.cpp1753 // Okay, we now know that all edges from PredBB should be revectored to
1755 BasicBlock *PredBB = PN->getIncomingBlock(i); local
1760 if (isa<IndirectBrInst>(PredBB->getTerminator())) continue;
1781 TranslateMap[PN] = PN->getIncomingValueForBlock(PredBB);
1808 // Loop over all of the edges from PredBB to BB, changing them to branch
1810 TerminatorInst *PredBBTI = PredBB->getTerminator();
1813 BB->removePredecessor(PredBB);
2444 for (BasicBlock *PredBB : predecessors(Succ))
2445 if (PredBB != BB)
2447 PredBB);
3473 BasicBlock *PredBB = *PI++; local
[all...]
/freebsd-11.0-release/contrib/llvm/lib/IR/
H A DBasicBlock.cpp227 BasicBlock *PredBB = *PI;
230 if (*PI != PredBB)
235 return PredBB;
H A DValue.cpp523 const BasicBlock *PredBB) {
526 return PN->getIncomingValueForBlock(PredBB);
522 DoPHITranslation(const BasicBlock *CurBB, const BasicBlock *PredBB) argument
H A DVerifier.cpp2984 for (BasicBlock *PredBB : predecessors(BB)) {
2985 const auto *II = dyn_cast<InvokeInst>(PredBB->getTerminator());
3009 for (BasicBlock *PredBB : predecessors(BB)) {
3010 TerminatorInst *TI = PredBB->getTerminator();
/freebsd-11.0-release/contrib/llvm/include/llvm/IR/
H A DValue.h500 /// the PHI node corresponding to PredBB. If not, return ourself. This is
503 Value *DoPHITranslation(const BasicBlock *CurBB, const BasicBlock *PredBB);
506 const BasicBlock *PredBB) const{
507 return const_cast<Value*>(this)->DoPHITranslation(CurBB, PredBB);
/freebsd-11.0-release/contrib/llvm/lib/Target/ARM/
H A DARMFrameLowering.cpp1880 for (MachineBasicBlock *PredBB : CurMBB->predecessors()) {
1881 if (BeforePrologueRegion.insert(PredBB).second)
1882 WalkList.push_back(PredBB);
1897 for (MachineBasicBlock *PredBB : BeforePrologueRegion)
1898 PredBB->addLiveIn(LI);
/freebsd-11.0-release/contrib/llvm/lib/Transforms/InstCombine/
H A DInstructionCombining.cpp1994 BasicBlock *PredBB = FreeInstrBB->getSinglePredecessor(); local
2000 if (!PredBB)
2014 TerminatorInst *TI = PredBB->getTerminator();

Completed in 398 milliseconds