/freebsd/contrib/llvm-project/llvm/lib/IR/ |
H A D | Dominators.cpp | 122 bool DominatorTree::dominates(const BasicBlock *BB, const Use &U) const { in dominates() function in DominatorTree 127 return dominates(BB, PN->getIncomingBlock(U)); in dominates() 132 // dominates - Return true if Def dominates a use in User. This performs 135 bool DominatorTree::dominates(const Value *DefV, in dominates() function in DominatorTree 159 // The value defined by an invoke dominates an instruction only if it in dominates() 160 // dominates every instruction in UseBB. in dominates() 161 // A PHI is dominated only if the instruction dominates every possible use in in dominates() 164 return dominates(Def, UseBB); in dominates() 167 return dominates(DefB in dominates() 174 bool DominatorTree::dominates(const Instruction *Def, dominates() function in DominatorTree 200 bool DominatorTree::dominates(const BasicBlockEdge &BBE, dominates() function in DominatorTree 250 bool DominatorTree::dominates(const BasicBlockEdge &BBE, const Use &U) const { dominates() function in DominatorTree 268 bool DominatorTree::dominates(const Value *DefV, const Use &U) const { dominates() function in DominatorTree 337 bool DominatorTree::dominates(const BasicBlockEdge &BBE1, dominates() function in DominatorTree [all...] |
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
H A D | CodeMoverUtils.cpp | 113 assert(DT.dominates(&Dominator, &BB) && "Expecting Dominator to dominate BB"); in collectControlConditions() 128 assert(DT.dominates(&Dominator, IDom) && in collectControlConditions() 137 if (PDT.dominates(CurBlock, IDom)) { in collectControlConditions() 141 } else if (PDT.dominates(CurBlock, BI->getSuccessor(0))) { in collectControlConditions() 147 } else if (PDT.dominates(CurBlock, BI->getSuccessor(1))) { in collectControlConditions() 243 if ((DT.dominates(&BB0, &BB1) && PDT.dominates(&BB1, &BB0)) || in isControlFlowEquivalent() 244 (PDT.dominates(&BB0, &BB1) && DT.dominates(&BB1, &BB0))) in isControlFlowEquivalent() 345 if (UserInst != &InsertPoint && !DT.dominates(&InsertPoint, U)) { in isSafeToMoveBefore() 350 DT.dominates(&I, UserInst)) in isSafeToMoveBefore() 363 DT.dominates(OpInst, &I)) in isSafeToMoveBefore() [all …]
|
H A D | ScalarEvolutionExpander.cpp | 132 SE.DT.dominates(cast<Instruction>(Ret), &*BIP)); in ReuseOrCreateCast() 352 SE.DT.dominates(cast<Instruction>(V), &*Builder.GetInsertPoint())); in expandAddToGEP() 408 if (DT.dominates(A->getHeader(), B->getHeader())) return B; in PickMostRelevantLoop() 409 if (DT.dominates(B->getHeader(), A->getHeader())) return A; in PickMostRelevantLoop() 685 if (!SE.DT.dominates(OInst, IVIncInsertPos)) in isNormalAddRecExprPHI() 724 if (!OInst || SE.DT.dominates(OInst, InsertPos)) in getIVIncOperand() 735 if (!SE.DT.dominates(OInst, InsertPos)) in getIVIncOperand() 788 if (SE.DT.dominates(IncV, InsertPos)) { in hoistIVInc() 797 !SE.DT.dominates(InsertPos->getParent(), IncV->getParent())) in hoistIVInc() 812 if (SE.DT.dominates(IncV, InsertPos)) in hoistIVInc() [all …]
|
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/ |
H A D | Dominators.h | 177 using Base::dominates; 180 bool dominates(const BasicBlock *BB, const Use &U) const; 191 bool dominates(const Value *Def, const Use &U) const; 195 bool dominates(const Value *Def, const Instruction *User) const; 196 bool dominates(const Value *Def, BasicBlock::iterator User) const { 197 return dominates(Def, &*User); 205 bool dominates(const Instruction *Def, const BasicBlock *BB) const; 211 bool dominates(const BasicBlockEdge &BBE, const Use &U) const; 212 bool dominates(const BasicBlockEdge &BBE, const BasicBlock *BB) const; 214 bool dominates(const BasicBlockEdge &BBE1, const BasicBlockEdge &BBE2) const;
|
H A D | GenericConvergenceVerifierImpl.h | 147 Check(DT.dominates(Token->getParent(), User->getParent()), in verify() 219 if (!DT.dominates(DT.getNode(LiveToken->getParent()), SuccNode)) in verify()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/ |
H A D | AMDGPURewriteUndefForPHI.cpp | 21 // Pattern A: Block with undefined incoming value dominates defined predecessor 28 // Pattern B: Block with defined incoming value dominates undefined predecessor 112 // The divergent block with defined incoming value that dominates all in INITIALIZE_PASS_DEPENDENCY() 127 if (!DT->dominates(&BB, IncomingBB)) in INITIALIZE_PASS_DEPENDENCY() 137 if (DT->dominates(IncomingBB, DominateBB)) in INITIALIZE_PASS_DEPENDENCY() 152 // We only replace the undef when DominateBB truly dominates all the in INITIALIZE_PASS_DEPENDENCY() 154 // dominates BB so that UniqueDefinedIncoming is available in BB and in INITIALIZE_PASS_DEPENDENCY() 156 if (DT->dominates(DominateBB, &BB) && all_of(Undefs, [&](BasicBlock *UD) { in INITIALIZE_PASS_DEPENDENCY() 157 return DT->dominates(DominateBB, UD); in INITIALIZE_PASS_DEPENDENCY()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/ARC/ |
H A D | ARCOptAddrMode.cpp | 164 if (!MDT->dominates(InstBB, MBB)) in dominatesAllUsesOf() 171 if (!MDT->dominates(MI, User)) in dominatesAllUsesOf() 247 if (MDT->dominates(Last, First)) std::swap(First, Last); in tryToCombine() 281 if (MDT->dominates(Ldst, Add)) in canJoinInstructions() 283 else if (!MDT->dominates(Add, Ldst)) in canJoinInstructions() 318 if (&MI != Add && MDT->dominates(Ldst, &MI)) in canJoinInstructions() 320 else if (!MDT->dominates(&MI, Ldst)) in canJoinInstructions() 322 if (MDT->dominates(Add, &MI)) in canJoinInstructions() 420 if (!OpDef || !MDT->dominates(OpDef, To)) in canHoistLoadStoreTo()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/ |
H A D | MachineDominators.h | 135 bool dominates(const MachineDomTreeNode *A, in dominates() function 138 return Base::dominates(A, B); in dominates() 147 bool dominates(const MachineBasicBlock *A, const MachineBasicBlock *B) const { in dominates() function 149 return Base::dominates(A, B); in dominates() 154 bool dominates(const MachineInstr *A, const MachineInstr *B) const { in dominates() function 158 return Base::dominates(BBA, BBB); in dominates()
|
H A D | LexicalScopes.h | 99 if (Parent && (!NewScope || !Parent->dominates(NewScope))) 104 bool dominates(const LexicalScope *S) const { in dominates() function 168 bool dominates(const DILocation *DL, MachineBasicBlock *MBB);
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/IPO/ |
H A D | HotColdSplitting.cpp | 520 bool SinkPostDom = PDT.dominates(&SinkBB, &PredBB); in create() 572 bool SinkDom = DT.dominates(&SinkBB, &SuccBB); in create() 621 BB == SuggestedEntryPoint || DT.dominates(SuggestedEntryPoint, BB); in takeSingleEntrySubRegion() 750 if ((DT->dominates(BB, Block) && PDT->dominates(Block, BB)) || in outlineColdRegions() 751 (PDT->dominates(BB, Block) && DT->dominates(Block, BB))) in outlineColdRegions()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/WebAssembly/ |
H A D | WebAssemblyExceptionInfo.cpp | 62 assert(MDT.dominates(Header, Dst)); in isReachableAmongDominated() 73 if (!Visited.count(Succ) && MDT.dominates(Header, Succ)) in isReachableAmongDominated() 309 if (MDT.dominates(EHPad, Frontier)) in discoverAndMapException() 321 if (MDT.dominates(EHPad, Succ)) in discoverAndMapException()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/ |
H A D | PostDominators.h | 39 using Base::dominates; 41 /// Return true if \p I1 dominates \p I2. This checks if \p I2 comes before 43 bool dominates(const Instruction *I1, const Instruction *I2) const;
|
H A D | RegionInfoImpl.h | 114 return (DT->dominates(entry, BB) && in contains() 115 !(DT->dominates(exit, BB) && DT->dominates(entry, exit))); in contains() 546 if (DT->dominates(entry, P) && !DT->dominates(exit, P)) in verifyBBMap() 563 if (!DT->dominates(entry, exit)) { in isCommonDomFrontier() 685 if (!DT->dominates(entry, exit)) in findRegionsWithEntry() 834 if (DT->dominates(Exit, BB)) in getMaxRegionExit()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/ |
H A D | X86FastPreTileConfig.cpp | 102 static bool dominates(MachineBasicBlock &MBB, in dominates() function 153 if (dominates(*MBB, *CfgMI, UseInst)) { in mayLiveOut() 555 if (LastShapeMI && dominates(MBB, MI, LastShapeMI)) in configBasicBlock() 600 if (LastShapeMI && dominates(MBB, MI, LastShapeMI)) in configBasicBlock() 611 else if (dominates(MBB, LastShapeMI, RowMI)) in configBasicBlock() 617 else if (dominates(MBB, LastShapeMI, ColMI)) in configBasicBlock() 628 if (!LastTileCfg || !dominates(MBB, LastTileCfg, UseMI)) in configBasicBlock()
|
/freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
H A D | PostDominators.cpp | 54 bool PostDominatorTree::dominates(const Instruction *I1, in dominates() function in PostDominatorTree 62 return Base::dominates(BB1, BB2); in dominates()
|
H A D | PHITransAddr.cpp | 194 (!DT || DT->dominates(CastI->getParent(), PredBB))) in translateSubExpr() 233 (!DT || DT->dominates(GEPI->getParent(), PredBB))) { in translateSubExpr() 285 (!DT || DT->dominates(BO->getParent(), PredBB))) in translateSubExpr() 313 if (!DT->dominates(Inst->getParent(), PredBB)) in translateValue()
|
H A D | MemorySSA.cpp | 401 assert(MSSA.dominates(ClobberAt, Start) && "Clobber doesn't dominate start?"); in checkClobberSanity() 670 if (!MSSA.dominates(Res.Result, StopWhere)) in getBlockingAccess() 786 if (!MSSA.dominates(I->Clobber, Dom->Clobber)) in tryOptimizePhi() 802 return MSSA.dominates(P.Clobber, Target); in tryOptimizePhi() 884 if (DT.dominates(ChainBB, TP.Clobber->getBlock())) in tryOptimizePhi() 915 return MSSA.dominates(P.Clobber, R.PrimaryClobber.Clobber); in verifyOptResult() 1371 if (DT->dominates(BackBlock, BB)) in optimizeUsesInBlock() 1409 !DT->dominates(LocInfo.LowerBoundBlock, BB)) { in optimizeUsesInBlock() 2038 assert(dominates(Phi, U) && "Memory PHI does not dominate it's uses"); in verifyOrderingDominationAndDefUses() 2067 assert(dominates(MD, U) && in verifyOrderingDominationAndDefUses() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
H A D | GuardWidening.cpp | 445 assert(DT.dominates(BestSoFar, Instr) && "Should be!"); in eliminateInstrViaWidening() 536 assert(DT.dominates(DominatingBlock, DominatedBlock) && "No dominance"); in computeWideningScore() 553 if (!DT.dominates(DominatingBlock, DominatedBlock)) in computeWideningScore() 558 return !PDT->dominates(DominatedBlock, DominatingBlock); in computeWideningScore() 568 if (!Inst || DT.dominates(Inst, Loc) || Visited.count(Inst)) in canBeHoistedTo() 589 if (!Inst || DT.dominates(Inst, Loc)) in makeAvailableAt() 612 if (!Res || !DT.dominates(I, &**Res)) in getFreezeInsertPt() 621 return ResInst != User && DT.dominates(I, User) && in getFreezeInsertPt() 622 !DT.dominates(ResInst, User); in getFreezeInsertPt()
|
H A D | GVNHoist.cpp | 643 assert(DT->dominates(NewBB, OldBB) && "invalid path"); in hasEHOrLoadsOnPath() 644 assert(DT->dominates(Def->getDefiningAccess()->getBlock(), NewBB) && in hasEHOrLoadsOnPath() 678 assert(DT->dominates(HoistPt, SrcBB) && "Invalid path"); in hasEHOnPath() 882 if (!DT->dominates(Inst->getParent(), HoistPt)) in allOperandsAvailable() 892 if (!DT->dominates(Inst->getParent(), HoistPt)) { in allGepOperandsAvailable() 916 if (DT->dominates(Op->getParent(), HoistPt)) in makeGepsAvailable() 1049 } else if (!DT->dominates(Val->getParent(), HoistPt)) in makeGepOperandsAvailable()
|
H A D | Sink.cpp | 87 if (!DT.dominates(Inst->getParent(), SuccToSinkTo)) in IsAcceptableTarget() 148 if (!DT.dominates(BB, SuccToSinkTo)) in SinkInstruction()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/Support/ |
H A D | GenericDomTree.h | 412 return dominates(A, B); 430 bool dominates(const DomTreeNodeBase<NodeT> *A, 473 bool dominates(const NodeT *A, const NodeT *B) const; 861 if (Pred != NewBB && !dominates(NewBBSucc, Pred) && 937 bool DominatorTreeBase<NodeT, IsPostDom>::dominates(const NodeT *A, 945 return dominates(getNode(const_cast<NodeT *>(A)), 957 return dominates(getNode(const_cast<NodeT *>(A)),
|
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
H A D | ShrinkWrap.cpp | 606 !MDT->dominates(InitSave, InitRestore) || in postShrinkWrapping() 607 !MPDT->dominates(InitRestore, InitSave)) in postShrinkWrapping() 676 assert((MDT->dominates(Save, Restore) && MPDT->dominates(Restore, Save)) && in postShrinkWrapping() 740 (!(SaveDominatesRestore = MDT->dominates(Save, Restore)) || in updateSaveRestorePoints() 741 !(RestorePostDominatesSave = MPDT->dominates(Restore, Save)) || in updateSaveRestorePoints()
|
H A D | MachineSink.cpp | 650 if (!DT->dominates(MBB, UseBlock)) in AllUsesDominatedByBlock() 1016 if (Pred != FromBB && !DT->dominates(ToBB, Pred)) in isLegalToBreakCriticalEdge() 1106 if (!PDT->dominates(SuccToSinkTo, MBB)) in isProfitableToSinkTo() 1483 if (!DT->dominates(From, To) || !PDT->dominates(To, From)) in hasStoreBetween() 1517 if (PDT->dominates(To, BB)) { in hasStoreBetween() 1526 if (DomBB != BB && DT->dominates(DomBB, BB)) in hasStoreBetween() 1528 else if(DomBB != BB && DT->dominates(BB, DomBB)) in hasStoreBetween() 1540 if (DomBB != BB && DT->dominates(DomBB, BB)) in hasStoreBetween() 1542 else if(DomBB != BB && DT->dominates(BB, DomBB)) in hasStoreBetween() 1715 if (!TryBreak && !DT->dominates(ParentBlock, SuccToSinkTo)) { in SinkInstruction() [all …]
|
H A D | CallBrPrepare.cpp | 179 << ", is " << (DT.dominates(BB, U) ? "" : "NOT ") in PrintDebugDomInfo() 215 if (DT.dominates(DefaultDest, *U)) in UpdateSSA()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/ |
H A D | AArch64PromoteConstant.cpp | 390 if (NewPt == IPI.first || DT.dominates(IPI.first, NewPt) || in isDominated() 395 DT.dominates(IPI.first->getParent(), NewPt->getParent()))) { in isDominated() 521 assert(DT.dominates(LoadedCst, in insertDefinitions()
|