Home
last modified time | relevance | path

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

123

/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/CodeGen/
DTailDuplicator.cpp111 for (MachineBasicBlock *PredBB : Preds) { in VerifyPHIs()
115 if (PHIBB == PredBB) { in VerifyPHIs()
124 << printMBBReference(*PredBB) << '\n'; in VerifyPHIs()
346 MachineInstr *MI, MachineBasicBlock *TailBB, MachineBasicBlock *PredBB, in processPHI() argument
351 unsigned SrcOpIdx = getPHISrcRegOpIdx(MI, PredBB); in processPHI()
363 addSSAUpdateEntry(DefReg, NewDef, PredBB); in processPHI()
378 MachineInstr *MI, MachineBasicBlock *TailBB, MachineBasicBlock *PredBB, in duplicateInstruction() argument
383 BuildMI(*PredBB, PredBB->end(), PredBB->findDebugLoc(PredBB->begin()), in duplicateInstruction()
388 MachineInstr &NewMI = TII->duplicate(*PredBB, PredBB->end(), *MI); in duplicateInstruction()
403 addSSAUpdateEntry(Reg, NewReg, PredBB); in duplicateInstruction()
[all …]
DMachineDominators.cpp106 for (MachineBasicBlock *PredBB : Succ->predecessors()) { in applySplitCriticalEdges()
107 if (PredBB == Edge.NewBB) in applySplitCriticalEdges()
121 if (NewBBs.count(PredBB)) { in applySplitCriticalEdges()
122 assert(PredBB->pred_size() == 1 && "A basic block resulting from a " in applySplitCriticalEdges()
125 PredBB = *PredBB->pred_begin(); in applySplitCriticalEdges()
127 if (!DT->dominates(SuccDTNode, DT->getNode(PredBB))) { in applySplitCriticalEdges()
DBranchFolding.cpp591 MachineBasicBlock *PredBB, in ProfitableToMerge() argument
629 if ((MBB1 == PredBB || MBB2 == PredBB) && in ProfitableToMerge()
632 unsigned NumTerms = CountTerminators(MBB1 == PredBB ? MBB2 : MBB1, I); in ProfitableToMerge()
677 if (SuccBB && MBB1 != PredBB && MBB2 != PredBB && in ProfitableToMerge()
703 MachineBasicBlock *PredBB) { in ComputeSameTails() argument
716 SuccBB, PredBB, in ComputeSameTails()
738 MachineBasicBlock *PredBB) { in RemoveBlocksWithHash() argument
745 if (SuccBB && CurMBB != PredBB) in RemoveBlocksWithHash()
755 bool BranchFolder::CreateCommonTailOnlyBlock(MachineBasicBlock *&PredBB, in CreateCommonTailOnlyBlock() argument
763 if (SameTails[i].getBlock() == PredBB) { in CreateCommonTailOnlyBlock()
[all …]
DBranchFolding.h164 MachineBasicBlock* PredBB,
191 MachineBasicBlock *PredBB);
196 MachineBasicBlock* PredBB);
200 bool CreateCommonTailOnlyBlock(MachineBasicBlock *&PredBB,
DMachineSSAUpdater.cpp166 MachineBasicBlock *PredBB = *PI; in GetValueInMiddleOfBlock() local
167 unsigned PredVal = GetValueAtEndOfBlockInternal(PredBB); in GetValueInMiddleOfBlock()
168 PredValues.push_back(std::make_pair(PredBB, PredVal)); in GetValueInMiddleOfBlock()
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Analysis/
DPHITransAddr.cpp144 BasicBlock *PredBB, in PHITranslateSubExpr() argument
169 return AddAsInput(PN->getIncomingValueForBlock(PredBB)); in PHITranslateSubExpr()
189 Value *PHIIn = PHITranslateSubExpr(Cast->getOperand(0), CurBB, PredBB, DT); in PHITranslateSubExpr()
207 (!DT || DT->dominates(CastI->getParent(), PredBB))) in PHITranslateSubExpr()
218 Value *GEPOp = PHITranslateSubExpr(GEP->getOperand(i), CurBB, PredBB, DT); in PHITranslateSubExpr()
244 (!DT || DT->dominates(GEPI->getParent(), PredBB))) { in PHITranslateSubExpr()
260 Value *LHS = PHITranslateSubExpr(Inst->getOperand(0), CurBB, PredBB, DT); in PHITranslateSubExpr()
296 (!DT || DT->dominates(BO->getParent(), PredBB))) in PHITranslateSubExpr()
312 bool PHITransAddr::PHITranslateValue(BasicBlock *CurBB, BasicBlock *PredBB, in PHITranslateValue() argument
317 if (DT && DT->isReachableFromEntry(PredBB)) in PHITranslateValue()
[all …]
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Scalar/
DJumpThreading.cpp226 auto *PredBB = IncomingBB; in updatePredecessorProfileMetadata() local
230 BranchInst *PredBr = dyn_cast<BranchInst>(PredBB->getTerminator()); in updatePredecessorProfileMetadata()
232 return {PredBB, SuccBB}; in updatePredecessorProfileMetadata()
233 Visited.insert(PredBB); in updatePredecessorProfileMetadata()
234 auto *SinglePredBB = PredBB->getSinglePredecessor(); in updatePredecessorProfileMetadata()
243 SuccBB = PredBB; in updatePredecessorProfileMetadata()
244 PredBB = SinglePredBB; in updatePredecessorProfileMetadata()
264 BasicBlock *PredBB = PredOutEdge.first; in updatePredecessorProfileMetadata() local
265 BranchInst *PredBr = dyn_cast<BranchInst>(PredBB->getTerminator()); in updatePredecessorProfileMetadata()
787 BasicBlock *PredBB = PN->getIncomingBlock(i); in ComputeValueKnownInPredecessorsImpl() local
[all …]
DSpeculateAroundPHIs.cpp570 for (auto *PredBB : PredSet) { in speculatePHIs() local
572 PredBB, ParentBB, in speculatePHIs()
576 LLVM_DEBUG(dbgs() << " Split critical edge from: " << PredBB->getName() in speculatePHIs()
580 assert(PredBB->getSingleSuccessor() == ParentBB && in speculatePHIs()
582 assert(!isa<InvokeInst>(PredBB->getTerminator()) && in speculatePHIs()
586 SpecPreds.push_back(PredBB); in speculatePHIs()
647 for (auto *PredBB : SpecPreds) in speculatePHIs() local
648 SpeculatedVals.push_back(IncomingValueMap.find(PredBB)->second); in speculatePHIs()
653 auto *PredBB = SpecPreds[PredIdx]; in speculatePHIs() local
654 assert(PredBB->getSingleSuccessor() == ParentBB && in speculatePHIs()
[all …]
DSimpleLoopUnswitch.cpp1403 for (BasicBlock *PredBB : predecessors(BB)) { in buildClonedLoops()
1406 if (!UnloopedBlockSet.erase(PredBB)) { in buildClonedLoops()
1408 (BlocksInClonedLoop.count(PredBB) || ExitLoopMap.count(PredBB)) && in buildClonedLoops()
1416 bool Inserted = ExitLoopMap.insert({PredBB, ExitL}).second; in buildClonedLoops()
1421 Worklist.push_back(PredBB); in buildClonedLoops()
1802 for (BasicBlock *PredBB : predecessors(BB)) { in rebuildLoopAfterUnswitch()
1805 if (!UnloopedBlocks.erase(PredBB)) { in rebuildLoopAfterUnswitch()
1806 assert((NewExitLoopBlocks.count(PredBB) || in rebuildLoopAfterUnswitch()
1807 ExitL.contains(LI.getLoopFor(PredBB))) && in rebuildLoopAfterUnswitch()
1815 bool Inserted = NewExitLoopBlocks.insert(PredBB).second; in rebuildLoopAfterUnswitch()
[all …]
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Utils/
DBasicBlockUtils.cpp179 BasicBlock *PredBB = BB->getUniquePredecessor(); in MergeBlockIntoPredecessor() local
180 if (!PredBB) return false; in MergeBlockIntoPredecessor()
183 if (PredBB == BB) return false; in MergeBlockIntoPredecessor()
185 if (PredBB->getTerminator()->isExceptionalTerminator()) in MergeBlockIntoPredecessor()
189 if (!PredecessorWithTwoSuccessors && PredBB->getUniqueSuccessor() != BB) in MergeBlockIntoPredecessor()
198 if (!(PredBB_BI = dyn_cast<BranchInst>(PredBB->getTerminator()))) in MergeBlockIntoPredecessor()
214 << PredBB->getName() << "\n"); in MergeBlockIntoPredecessor()
239 if (llvm::find(successors(PredBB), *I) == succ_end(PredBB)) in MergeBlockIntoPredecessor()
240 Updates.push_back({DominatorTree::Insert, PredBB, *I}); in MergeBlockIntoPredecessor()
243 Updates.push_back({DominatorTree::Delete, PredBB, BB}); in MergeBlockIntoPredecessor()
[all …]
DSSAUpdater.cpp115 BasicBlock *PredBB = SomePhi->getIncomingBlock(i); in GetValueInMiddleOfBlock() local
116 Value *PredVal = GetValueAtEndOfBlock(PredBB); in GetValueInMiddleOfBlock()
117 PredValues.push_back(std::make_pair(PredBB, PredVal)); in GetValueInMiddleOfBlock()
128 BasicBlock *PredBB = *PI; in GetValueInMiddleOfBlock() local
129 Value *PredVal = GetValueAtEndOfBlock(PredBB); in GetValueInMiddleOfBlock()
130 PredValues.push_back(std::make_pair(PredBB, PredVal)); in GetValueInMiddleOfBlock()
DLocal.cpp682 BasicBlock *PredBB = DestBB->getSinglePredecessor(); in MergeBasicBlockIntoOnlyPred() local
683 assert(PredBB && "Block doesn't have a single predecessor!"); in MergeBasicBlockIntoOnlyPred()
686 if (PredBB == &DestBB->getParent()->getEntryBlock()) in MergeBasicBlockIntoOnlyPred()
694 Updates.push_back({DominatorTree::Delete, PredBB, DestBB}); in MergeBasicBlockIntoOnlyPred()
695 for (auto I = pred_begin(PredBB), E = pred_end(PredBB); I != E; ++I) { in MergeBasicBlockIntoOnlyPred()
696 Updates.push_back({DominatorTree::Delete, *I, PredBB}); in MergeBasicBlockIntoOnlyPred()
715 PredBB->replaceAllUsesWith(DestBB); in MergeBasicBlockIntoOnlyPred()
718 PredBB->getTerminator()->eraseFromParent(); in MergeBasicBlockIntoOnlyPred()
719 DestBB->getInstList().splice(DestBB->begin(), PredBB->getInstList()); in MergeBasicBlockIntoOnlyPred()
720 new UnreachableInst(PredBB->getContext(), PredBB); in MergeBasicBlockIntoOnlyPred()
[all …]
DBreakCriticalEdges.cpp337 BasicBlock *PredBB = PN->getIncomingBlock(Pred); in findIBRPredecessor() local
338 Instruction *PredTerm = PredBB->getTerminator(); in findIBRPredecessor()
343 IBB = PredBB; in findIBRPredecessor()
347 OtherPreds.push_back(PredBB); in findIBRPredecessor()
DCloneFunction.cpp836 BasicBlock *BB, BasicBlock *PredBB, Instruction *StopAt, in DuplicateInstructionsInSplitBetween() argument
839 assert(count(successors(PredBB), BB) == 1 && in DuplicateInstructionsInSplitBetween()
846 ValueMapping[PN] = PN->getIncomingValueForBlock(PredBB); in DuplicateInstructionsInSplitBetween()
848 BasicBlock *NewBB = SplitEdge(PredBB, BB); in DuplicateInstructionsInSplitBetween()
849 NewBB->setName(PredBB->getName() + ".split"); in DuplicateInstructionsInSplitBetween()
854 DTU.applyUpdates({{DominatorTree::Delete, PredBB, BB}, in DuplicateInstructionsInSplitBetween()
855 {DominatorTree::Insert, PredBB, NewBB}, in DuplicateInstructionsInSplitBetween()
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/include/llvm/Analysis/
DPHITransAddr.h81 bool PHITranslateValue(BasicBlock *CurBB, BasicBlock *PredBB,
91 Value *PHITranslateWithInsertion(BasicBlock *CurBB, BasicBlock *PredBB,
103 Value *PHITranslateSubExpr(Value *V, BasicBlock *CurBB, BasicBlock *PredBB,
112 BasicBlock *PredBB, const DominatorTree &DT,
DLoopInfoImpl.h429 BlockT *PredBB = ReverseCFGWorklist.back(); in discoverAndMapSubloop() local
432 LoopT *Subloop = LI->getLoopFor(PredBB); in discoverAndMapSubloop()
434 if (!DomTree.isReachableFromEntry(PredBB)) in discoverAndMapSubloop()
438 LI->changeLoopFor(PredBB, L); in discoverAndMapSubloop()
440 if (PredBB == L->getHeader()) in discoverAndMapSubloop()
444 InvBlockTraits::child_begin(PredBB), in discoverAndMapSubloop()
445 InvBlockTraits::child_end(PredBB)); in discoverAndMapSubloop()
459 PredBB = Subloop->getHeader(); in discoverAndMapSubloop()
464 for (const auto Pred : children<Inverse<BlockT *>>(PredBB)) { in discoverAndMapSubloop()
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Vectorize/
DVPlanPredicator.cpp37 VPValue *VPlanPredicator::getOrCreateNotPredicate(VPBasicBlock *PredBB, in getOrCreateNotPredicate() argument
39 VPValue *CBV = PredBB->getCondBit(); in getOrCreateNotPredicate()
43 EdgeType ET = getEdgeTypeBetween(PredBB, CurrBB); in getOrCreateNotPredicate()
58 VPValue *BP = PredBB->getPredicate(); in getOrCreateNotPredicate()
DVPlan.cpp127 BasicBlock *PredBB = CFG.VPBB2IRBB[PredVPBB]; in createEmptyBasicBlock() local
135 if (!PredBB) { in createEmptyBasicBlock()
142 assert(PredBB && "Predecessor basic-block not found building successor."); in createEmptyBasicBlock()
143 auto *PredBBTerminator = PredBB->getTerminator(); in createEmptyBasicBlock()
144 LLVM_DEBUG(dbgs() << "LV: draw edge from" << PredBB->getName() << '\n'); in createEmptyBasicBlock()
149 BranchInst::Create(NewBB, PredBB); in createEmptyBasicBlock()
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/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()
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/include/llvm/CodeGen/
DTailDuplicator.h81 bool canTailDuplicate(MachineBasicBlock *TailBB, MachineBasicBlock *PredBB);
101 MachineBasicBlock *PredBB,
106 MachineBasicBlock *PredBB,
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/ObjCARC/
DDependencyAnalysis.cpp244 BasicBlock *PredBB = *PI; in FindDependencies() local
245 if (Visited.insert(PredBB).second) in FindDependencies()
246 Worklist.push_back(std::make_pair(PredBB, PredBB->end())); in FindDependencies()
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/IPO/
DHotColdSplitting.cpp423 BasicBlock &PredBB = **PredIt; in create() local
424 bool SinkPostDom = PDT.dominates(&SinkBB, &PredBB); in create()
428 if (SinkPostDom && pred_empty(&PredBB)) { in create()
435 if (!SinkPostDom || !mayExtractBlock(PredBB)) { in create()
443 unsigned PredScore = getEntryPointScore(PredBB, PredIt.getPathLength()); in create()
445 ColdRegion->SuggestedEntryPoint = &PredBB; in create()
449 addBlockToRegion(&PredBB, PredScore); in create()
DBlockExtractor.cpp148 for (auto PredBB : predecessors(LPad)) { in splitLandingPadPreds() local
149 if (PredBB->isLandingPad() && PredBB != Parent && in splitLandingPadPreds()
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/include/llvm/Transforms/Scalar/
DJumpThreading.h118 BasicBlock *PredBB);
164 void UpdateBlockFreqAndEdgeWeight(BasicBlock *PredBB, BasicBlock *BB,
/third_party/skia/third_party/externals/swiftshader/third_party/llvm-10.0/llvm/lib/IR/
DBasicBlock.cpp256 const BasicBlock *PredBB = *PI; in getUniquePredecessor() local
259 if (*PI != PredBB) in getUniquePredecessor()
264 return PredBB; in getUniquePredecessor()

123