| /freebsd/contrib/llvm-project/llvm/include/llvm/Support/ |
| H A D | GenericDomTreeConstruction.h | 149 TreeNodePtr getNodeForBlock(NodePtr BB, DomTreeT &DT) { in getNodeForBlock() 150 if (TreeNodePtr Node = DT.getNode(BB)) return Node; in getNodeForBlock() 156 assert(IDom || DT.getNode(nullptr)); in getNodeForBlock() 157 TreeNodePtr IDomNode = getNodeForBlock(IDom, DT); in getNodeForBlock() 161 return DT.createNode(BB, IDomNode); in getNodeForBlock() 344 static NodePtr GetEntryNode(const DomTreeT &DT) { in GetEntryNode() 345 assert(DT.Parent && "Parent not set"); in GetEntryNode() 346 return GraphTraits<typename DomTreeT::ParentPtr>::getEntryNode(DT.Parent); in GetEntryNode() 352 static RootsT FindRoots(const DomTreeT &DT, BatchUpdatePtr BUI) { in FindRoots() 353 assert(DT.Parent && "Parent pointer is not set"); in FindRoots() [all …]
|
| H A D | GenericIteratedDominanceFrontier.h | 65 IDFCalculatorBase(DominatorTreeBase<NodeTy, IsPostDom> &DT) : DT(DT) {} in IDFCalculatorBase() argument 67 IDFCalculatorBase(DominatorTreeBase<NodeTy, IsPostDom> &DT, in IDFCalculatorBase() argument 69 : DT(DT), ChildrenGetter(C) {} in IDFCalculatorBase() 106 DominatorTreeBase<NodeTy, IsPostDom> &DT; 145 DT.updateDFSNumbers(); in calculate() 156 if (DomTreeNodeBase<NodeTy> *Node = DT.getNode(BB)) { in calculate() 181 DomTreeNodeBase<NodeTy> *SuccNode = DT.getNode(Succ); in calculate()
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
| H A D | CodeMoverUtils.cpp | 64 const DominatorTree &DT, 95 static bool domTreeLevelBefore(DominatorTree *DT, const Instruction *InstA, in domTreeLevelBefore() argument 102 DomTreeNode *DA = DT->getNode(InstA->getParent()); in domTreeLevelBefore() 103 DomTreeNode *DB = DT->getNode(InstB->getParent()); in domTreeLevelBefore() 110 const DominatorTree &DT, in collectControlConditions() argument 113 assert(DT.dominates(&Dominator, &BB) && "Expecting Dominator to dominate BB"); in collectControlConditions() 126 assert(DT.getNode(CurBlock) && "Expecting a valid DT node for CurBlock"); in collectControlConditions() 127 BasicBlock *IDom = DT.getNode(CurBlock)->getIDom()->getBlock(); in collectControlConditions() 128 assert(DT.dominates(&Dominator, IDom) && in collectControlConditions() 232 const DominatorTree &DT, in isControlFlowEquivalent() argument [all …]
|
| H A D | LCSSA.cpp | 84 const DominatorTree &DT, const LoopInfo &LI, in formLCSSAForInstructionsImpl() argument 115 if (!DT.isReachableFromEntry(UserBB)) { in formLCSSAForInstructionsImpl() 144 const DomTreeNode *DomNode = DT.getNode(DomBB); in formLCSSAForInstructionsImpl() 158 if (!DT.dominates(DomNode, DT.getNode(ExitBB))) in formLCSSAForInstructionsImpl() 326 const DominatorTree &DT, const LoopInfo &LI, in formLCSSAForInstructions() argument 332 return formLCSSAForInstructionsImpl(Worklist, DT, LI, SE, PHIsToRemove, in formLCSSAForInstructions() 338 Loop &L, const DominatorTree &DT, ArrayRef<BasicBlock *> ExitBlocks, in computeBlocksDominatingExits() argument 353 BasicBlock *IDomBB = DT.getNode(BB)->getIDom()->getBlock(); in computeBlocksDominatingExits() 379 static bool formLCSSAImpl(Loop &L, const DominatorTree &DT, const LoopInfo *LI, in formLCSSAImpl() argument 388 assert(SubLoop->isRecursivelyLCSSAForm(DT, *LI) && "Subloop not in LCSSA!"); in formLCSSAImpl() [all …]
|
| H A D | LoopUnrollRuntime.cpp | 86 ValueToValueMapTy &VMap, DominatorTree *DT, in ConnectProlog() argument 160 SplitBlockPredecessors(PrologExit, PrologExitPreds, ".unr-lcssa", DT, LI, in ConnectProlog() 179 SplitBlockPredecessors(OriginalLoopLatchExit, Preds, ".unr-lcssa", DT, LI, in ConnectProlog() 191 if (DT) { in ConnectProlog() 192 auto *NewDom = DT->findNearestCommonDominator(OriginalLoopLatchExit, in ConnectProlog() 194 DT->changeImmediateDominator(OriginalLoopLatchExit, NewDom); in ConnectProlog() 213 ValueToValueMapTy &VMap, DominatorTree *DT, in ConnectEpilog() argument 309 SplitBlockPredecessors(Exit, Preds, ".epilog-lcssa", DT, LI, nullptr, in ConnectEpilog() 320 if (DT) { in ConnectEpilog() 321 auto *NewDom = DT->findNearestCommonDominator(Exit, NewExit); in ConnectEpilog() [all …]
|
| H A D | UnifyLoopExits.cpp | 89 static void restoreSSA(const DominatorTree &DT, const Loop *L, in INITIALIZE_PASS_DEPENDENCY() 126 if (Def->getParent() == In || DT.dominates(Def, In)) { in INITIALIZE_PASS_DEPENDENCY() 144 static bool unifyLoopExits(DominatorTree &DT, LoopInfo &LI, Loop *L) { in unifyLoopExits() argument 171 DomTreeUpdater DTU(DT, DomTreeUpdater::UpdateStrategy::Eager); in unifyLoopExits() 179 restoreSSA(DT, L, ExitingBlocks, LoopExitBlock); in unifyLoopExits() 182 assert(DT.verify(DominatorTree::VerificationLevel::Full)); in unifyLoopExits() 184 assert(DT.verify(DominatorTree::VerificationLevel::Fast)); in unifyLoopExits() 198 LI.verify(DT); in unifyLoopExits() 204 static bool runImpl(LoopInfo &LI, DominatorTree &DT) { in runImpl() argument 210 Changed |= unifyLoopExits(DT, LI, L); in runImpl() [all …]
|
| H A D | LoopSimplify.cpp | 115 BasicBlock *llvm::InsertPreheaderForLoop(Loop *L, DominatorTree *DT, in InsertPreheaderForLoop() argument 137 PreheaderBB = SplitBlockPredecessors(Header, OutsideBlocks, ".preheader", DT, in InsertPreheaderForLoop() 170 static PHINode *findPHIToPartitionLoops(Loop *L, DominatorTree *DT, in findPHIToPartitionLoops() argument 176 if (Value *V = simplifyInstruction(PN, {DL, nullptr, DT, AC})) { in findPHIToPartitionLoops() 213 DominatorTree *DT, LoopInfo *LI, in separateNestedLoop() argument 245 PHINode *PN = findPHIToPartitionLoops(L, DT, AC); in separateNestedLoop() 270 DT, LI, MSSAU, PreserveLCSSA); in separateNestedLoop() 299 if (DT->dominates(Header, P)) in separateNestedLoop() 331 formDedicatedExitBlocks(L, DT, LI, MSSAU, PreserveLCSSA); in separateNestedLoop() 340 formLCSSA(*L, *DT, LI, SE); in separateNestedLoop() [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
| H A D | CallBrPrepare.cpp | 57 static bool SplitCriticalEdges(ArrayRef<CallBrInst *> CBRs, DominatorTree &DT); 59 DominatorTree &DT); 60 static void UpdateSSA(DominatorTree &DT, CallBrInst *CBR, CallInst *Intrinsic, 84 auto &DT = FAM.getResult<DominatorTreeAnalysis>(Fn); in run() local 86 Changed |= SplitCriticalEdges(CBRs, DT); in run() 87 Changed |= InsertIntrinsicCalls(CBRs, DT); in run() 118 bool SplitCriticalEdges(ArrayRef<CallBrInst *> CBRs, DominatorTree &DT) { in SplitCriticalEdges() argument 120 CriticalEdgeSplittingOptions Options(&DT); in SplitCriticalEdges() 140 bool InsertIntrinsicCalls(ArrayRef<CallBrInst *> CBRs, DominatorTree &DT) { in InsertIntrinsicCalls() argument 160 UpdateSSA(DT, CBR, Intrinsic, SSAUpdate); in InsertIntrinsicCalls() [all …]
|
| H A D | MachineDominators.cpp | 44 template LLVM_EXPORT_TEMPLATE void Calculate<MBBDomTree>(MBBDomTree &DT); 46 CalculateWithUpdates<MBBDomTree>(MBBDomTree &DT, MBBUpdates U); 49 InsertEdge<MBBDomTree>(MBBDomTree &DT, MachineBasicBlock *From, 53 DeleteEdge<MBBDomTree>(MBBDomTree &DT, MachineBasicBlock *From, 57 ApplyUpdates<MBBDomTree>(MBBDomTree &DT, MBBDomTreeGraphDiff &, 61 Verify<MBBDomTree>(const MBBDomTree &DT, MBBDomTree::VerificationLevel VL); 106 DT = MachineDominatorTree(F); in runOnMachineFunction() 110 void MachineDominatorTreeWrapperPass::releaseMemory() { DT.reset(); } in releaseMemory() 113 if (VerifyMachineDomInfo && DT) in verifyAnalysis() 114 if (!DT->verify(MachineDominatorTree::VerificationLevel::Basic)) in verifyAnalysis() [all …]
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/ |
| H A D | GenericDomTreeUpdaterImpl.h | 31 if (DT) in recalculate() 32 DT->recalculate(F); in recalculate() 47 if (DT) in recalculate() 48 DT->recalculate(F); in recalculate() 61 if (!DT && !PDT) in applyUpdates() 73 if (DT) in applyUpdates() 74 DT->applyUpdates(Updates); in applyUpdates() 82 if (!DT && !PDT) in applyUpdatesPermissive() 127 if (DT) in applyUpdatesPermissive() 128 DT->applyUpdates(DeduplicatedUpdates); in applyUpdatesPermissive() [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
| H A D | CFG.cpp | 138 const DominatorTree *DT, const LoopInfo *LI) { in isReachableImpl() argument 141 if (DT) { in isReachableImpl() 143 if (!DT->isReachableFromEntry(BB)) { in isReachableImpl() 144 DT = nullptr; in isReachableImpl() 153 DT = nullptr; in isReachableImpl() 184 if (DT) { in isReachableImpl() 186 return DT->dominates(BB, StopBB); in isReachableImpl() 242 const SmallPtrSetImpl<BasicBlock *> *ExclusionSet, const DominatorTree *DT, in isPotentiallyReachableFromMany() argument 245 Worklist, SingleEntrySet<const BasicBlock *>(StopBB), ExclusionSet, DT, in isPotentiallyReachableFromMany() 252 const SmallPtrSetImpl<BasicBlock *> *ExclusionSet, const DominatorTree *DT, in isManyPotentiallyReachableFromMany() argument [all …]
|
| H A D | PHITransAddr.cpp | 132 const DominatorTree *DT) { in translateSubExpr() argument 174 Value *PHIIn = translateSubExpr(Cast->getOperand(0), CurBB, PredBB, DT); in translateSubExpr() 183 {DL, TLI, DT, AC})) { in translateSubExpr() 194 (!DT || DT->dominates(CastI->getParent(), PredBB))) in translateSubExpr() 205 Value *GEPOp = translateSubExpr(Op, CurBB, PredBB, DT); in translateSubExpr() 218 GEP->getNoWrapFlags(), {DL, TLI, DT, AC})) { in translateSubExpr() 236 (!DT || DT->dominates(GEPI->getParent(), PredBB))) { in translateSubExpr() 252 Value *LHS = translateSubExpr(Inst->getOperand(0), CurBB, PredBB, DT); in translateSubExpr() 271 if (Value *Res = simplifyAddInst(LHS, RHS, isNSW, isNUW, {DL, TLI, DT, AC})) { in translateSubExpr() 288 (!DT || DT->dominates(BO->getParent(), PredBB))) in translateSubExpr() [all …]
|
| H A D | CaptureTracking.cpp | 96 const DominatorTree *DT, bool IncludeI, const LoopInfo *LI, in CapturesBefore() 99 : BeforeHere(I), DT(DT), ReturnCaptures(ReturnCaptures), in CapturesBefore() 110 if (!DT->isReachableFromEntry(I->getParent())) in isSafeToPrune() 114 return !isPotentiallyReachable(I, BeforeHere, nullptr, DT, LI); in isSafeToPrune() 137 const DominatorTree *DT; member 159 EarliestCaptures(bool ReturnCaptures, Function &F, const DominatorTree &DT, in EarliestCaptures() 161 : DT(DT), ReturnCaptures(ReturnCaptures), F(F), Mask(Mask) {} in EarliestCaptures() 177 EarliestCapture = DT.findNearestCommonDominator(EarliestCapture, I); in captured() 185 const DominatorTree &DT; member 223 const DominatorTree *DT, bool IncludeI, CaptureComponents Mask, in PointerMayBeCapturedBefore() argument [all …]
|
| H A D | Loads.cpp | 38 const DominatorTree *DT) { in isDereferenceableAndAlignedPointerViaAssumption() argument 54 if (!isValidAssumeForContext(Assume, CtxI, DT)) in isDereferenceableAndAlignedPointerViaAssumption() 72 const Instruction *CtxI, AssumptionCache *AC, const DominatorTree *DT, in isDereferenceableAndAlignedPointer() argument 108 CtxI, AC, DT, TLI, Visited, MaxDepth); in isDereferenceableAndAlignedPointer() 115 BC->getOperand(0), Alignment, Size, DL, CtxI, AC, DT, TLI, in isDereferenceableAndAlignedPointer() 122 Size, DL, CtxI, AC, DT, TLI, in isDereferenceableAndAlignedPointer() 125 Size, DL, CtxI, AC, DT, TLI, in isDereferenceableAndAlignedPointer() 136 !isKnownNonZero(V, SimplifyQuery(DL, DT, AC, CtxI))) in isDereferenceableAndAlignedPointer() 148 return CtxI && isValidAssumeForContext(I, CtxI, DT); in isDereferenceableAndAlignedPointer() 165 AC, DT, TLI, Visited, MaxDepth); in isDereferenceableAndAlignedPointer() [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
| H A D | Sink.cpp | 72 DominatorTree &DT, LoopInfo &LI) { in IsAcceptableTarget() argument 105 DominatorTree &DT, LoopInfo &LI, AAResults &AA) { in SinkInstruction() argument 135 if (!DT.isReachableFromEntry(UseBlock)) in SinkInstruction() 139 SuccToSinkTo = DT.findNearestCommonDominator(SuccToSinkTo, UseBlock); in SinkInstruction() 148 !IsAcceptableTarget(Inst, SuccToSinkTo, DT, LI)) in SinkInstruction() 149 SuccToSinkTo = DT.getNode(SuccToSinkTo)->getIDom()->getBlock(); in SinkInstruction() 165 assert(DT.dominates(BB, SuccToSinkTo) && in SinkInstruction() 173 static bool ProcessBlock(BasicBlock &BB, DominatorTree &DT, LoopInfo &LI, in ProcessBlock() argument 178 if (!DT.isReachableFromEntry(&BB)) return false; in ProcessBlock() 199 if (SinkInstruction(Inst, Stores, DT, LI, AA)) { in ProcessBlock() [all …]
|
| H A D | SimplifyCFGPass.cpp | 274 DominatorTree *DT, in simplifyFunctionCFGImpl() argument 276 DomTreeUpdater DTU(DT, DomTreeUpdater::UpdateStrategy::Eager); in simplifyFunctionCFGImpl() 278 bool EverChanged = removeUnreachableBlocks(F, DT ? &DTU : nullptr); in simplifyFunctionCFGImpl() 280 tailMergeBlocksWithSimilarFunctionTerminators(F, DT ? &DTU : nullptr); in simplifyFunctionCFGImpl() 281 EverChanged |= iterativelySimplifyCFG(F, TTI, DT ? &DTU : nullptr, Options); in simplifyFunctionCFGImpl() 291 if (!removeUnreachableBlocks(F, DT ? &DTU : nullptr)) in simplifyFunctionCFGImpl() 295 EverChanged = iterativelySimplifyCFG(F, TTI, DT ? &DTU : nullptr, Options); in simplifyFunctionCFGImpl() 296 EverChanged |= removeUnreachableBlocks(F, DT ? &DTU : nullptr); in simplifyFunctionCFGImpl() 303 DominatorTree *DT, in simplifyFunctionCFG() argument 306 (DT && DT->verify(DominatorTree::VerificationLevel::Full))) && in simplifyFunctionCFG() [all …]
|
| H A D | LICM.cpp | 177 static void hoist(Instruction &I, const DominatorTree *DT, const Loop *CurLoop, 181 static bool sink(Instruction &I, LoopInfo *LI, DominatorTree *DT, 185 Instruction &Inst, const DominatorTree *DT, const TargetLibraryInfo *TLI, 202 DominatorTree *DT); 223 bool runOnLoop(Loop *L, AAResults *AA, LoopInfo *LI, DominatorTree *DT, 311 if (!LICM.runOnLoop(&L, &AR.AA, &AR.LI, &AR.DT, &AR.AC, &AR.TLI, &AR.TTI, in run() 346 bool Changed = LICM.runOnLoop(&OutermostLoop, &AR.AA, &AR.LI, &AR.DT, &AR.AC, in run() 412 DominatorTree *DT, AssumptionCache *AC, in runOnLoop() argument 420 assert(L->isLCSSAForm(*DT) && "Loop is not in LCSSA form."); in runOnLoop() 467 ? sinkRegionForLoopNest(DT->getNode(L->getHeader()), AA, LI, DT, in runOnLoop() [all …]
|
| H A D | LoopSimplifyCFG.cpp | 113 DominatorTree &DT; member in __anona0e87c8a0111::ConstantTerminatorFoldingImpl 368 Preheader, Preheader->getTerminator(), &DT, &LI, MSSAU); in handleDeadExits() 427 MSSAU->applyUpdates(DTUpdates, DT, /*UpdateDT=*/true); in handleDeadExits() 431 formLCSSARecursively(*FixLCSSALoop, DT, &LI, &SE); in handleDeadExits() 438 MSSAU->applyUpdates(DTUpdates, DT, /*UpdateDT=*/true); in handleDeadExits() 542 ConstantTerminatorFoldingImpl(Loop &L, LoopInfo &LI, DominatorTree &DT, in ConstantTerminatorFoldingImpl() argument 545 : L(L), LI(LI), DT(DT), SE(SE), MSSAU(MSSAU), DFS(&L), in ConstantTerminatorFoldingImpl() 546 DTU(DT, DomTreeUpdater::UpdateStrategy::Eager) {} in ConstantTerminatorFoldingImpl() 602 if (!DeadExitBlocks.empty() && !L.isLCSSAForm(DT, /*IgnoreTokens*/ false)) { in run() 603 assert(L.isLCSSAForm(DT, /*IgnoreTokens*/ true) && in run() [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/IR/ |
| H A D | Dominators.cpp | 84 DomTreeBuilder::BBDomTree &DT); 87 DomTreeBuilder::BBDomTree &DT, BBUpdates U); 91 DomTreeBuilder::BBPostDomTree &DT); 96 DomTreeBuilder::BBDomTree &DT, BasicBlock *From, BasicBlock *To); 99 DomTreeBuilder::BBPostDomTree &DT, BasicBlock *From, BasicBlock *To); 103 DomTreeBuilder::BBDomTree &DT, BasicBlock *From, BasicBlock *To); 106 DomTreeBuilder::BBPostDomTree &DT, BasicBlock *From, BasicBlock *To); 110 DomTreeBuilder::BBDomTree &DT, DomTreeBuilder::BBDomTreeGraphDiff &, 114 DomTreeBuilder::BBPostDomTree &DT, DomTreeBuilder::BBPostDomTreeGraphDiff &, 119 const DomTreeBuilder::BBDomTree &DT, [all …]
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/IR/ |
| H A D | Dominators.h | 64 extern template LLVM_TEMPLATE_ABI void Calculate<BBDomTree>(BBDomTree &DT); 66 CalculateWithUpdates<BBDomTree>(BBDomTree &DT, BBUpdates U); 69 Calculate<BBPostDomTree>(BBPostDomTree &DT); 72 InsertEdge<BBDomTree>(BBDomTree &DT, BasicBlock *From, BasicBlock *To); 74 InsertEdge<BBPostDomTree>(BBPostDomTree &DT, BasicBlock *From, BasicBlock *To); 77 DeleteEdge<BBDomTree>(BBDomTree &DT, BasicBlock *From, BasicBlock *To); 79 DeleteEdge<BBPostDomTree>(BBPostDomTree &DT, BasicBlock *From, BasicBlock *To); 82 ApplyUpdates<BBDomTree>(BBDomTree &DT, BBDomTreeGraphDiff &, 85 ApplyUpdates<BBPostDomTree>(BBPostDomTree &DT, BBPostDomTreeGraphDiff &, 89 Verify<BBDomTree>(const BBDomTree &DT, BBDomTree::VerificationLevel VL); [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/SPIRV/Analysis/ |
| H A D | SPIRVConvergenceRegionAnalysis.cpp | 112 ConvergenceRegion::ConvergenceRegion(DominatorTree &DT, LoopInfo &LI, in ConvergenceRegion() argument 114 : DT(DT), LI(LI), Parent(nullptr) { in ConvergenceRegion() 125 DominatorTree &DT, LoopInfo &LI, in ConvergenceRegion() argument 128 : DT(DT), LI(LI), ConvergenceToken(ConvergenceToken), Entry(Entry), in ConvergenceRegion() 190 ConvergenceRegionAnalyzer(Function &F, DominatorTree &DT, LoopInfo &LI) in ConvergenceRegionAnalyzer() argument 191 : DT(DT), LI(LI), F(F) {} in ConvergenceRegionAnalyzer() 262 ConvergenceRegion *TopLevelRegion = new ConvergenceRegion(DT, LI, F); in analyze() 289 DT, LI, CT, L->getHeader(), std::move(RegionBlocks), in analyze() 300 DominatorTree &DT; member in __anon3b2819e70211::ConvergenceRegionAnalyzer 307 DominatorTree &DT, in getConvergenceRegions() argument [all …]
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/ |
| H A D | CodeMoverUtils.h | 35 const DominatorTree &DT, 43 const DominatorTree &DT, 48 DominatorTree &DT, 56 DominatorTree &DT, 64 DominatorTree &DT, 71 DominatorTree &DT, 81 const DominatorTree *DT, 86 const DominatorTree *DT,
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/ |
| H A D | MachineDominators.h | 47 extern template LLVM_TEMPLATE_ABI void Calculate<MBBDomTree>(MBBDomTree &DT); 49 CalculateWithUpdates<MBBDomTree>(MBBDomTree &DT, MBBUpdates U); 52 InsertEdge<MBBDomTree>(MBBDomTree &DT, MachineBasicBlock *From, 56 DeleteEdge<MBBDomTree>(MBBDomTree &DT, MachineBasicBlock *From, 60 ApplyUpdates<MBBDomTree>(MBBDomTree &DT, MBBDomTreeGraphDiff &, 64 Verify<MBBDomTree>(const MBBDomTree &DT, MBBDomTree::VerificationLevel VL); 130 std::optional<MachineDominatorTree> DT; variable 137 MachineDominatorTree &getDomTree() { return *DT; } in getDomTree() 138 const MachineDominatorTree &getDomTree() const { return *DT; } in getDomTree() 185 static NodeRef getEntryNode(MachineDominatorTree *DT) { [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/ |
| H A D | AMDGPURewriteUndefForPHI.cpp | 100 bool rewritePHIs(Function &F, UniformityInfo &UA, DominatorTree *DT) { in INITIALIZE_PASS_DEPENDENCY() 125 if (!DT->dominates(&BB, IncomingBB)) in INITIALIZE_PASS_DEPENDENCY() 135 if (DT->dominates(IncomingBB, DominateBB)) in INITIALIZE_PASS_DEPENDENCY() 154 if (DT->dominates(DominateBB, &BB) && all_of(Undefs, [&](BasicBlock *UD) { in INITIALIZE_PASS_DEPENDENCY() 155 return DT->dominates(DominateBB, UD); in INITIALIZE_PASS_DEPENDENCY() 173 DominatorTree *DT = &getAnalysis<DominatorTreeWrapperPass>().getDomTree(); in runOnFunction() local 174 return rewritePHIs(F, UA, DT); in runOnFunction() 180 DominatorTree *DT = &AM.getResult<DominatorTreeAnalysis>(F); in run() local 181 bool Changed = rewritePHIs(F, UA, DT); in run()
|
| /freebsd/contrib/llvm-project/clang/lib/Lex/ |
| H A D | PPExpressions.cpp | 102 static bool EvaluateDefined(PPValue &Result, Token &PeekTok, DefinedTracker &DT, in EvaluateDefined() argument 134 DT.IncludedUndefinedIds = !Macro; in EvaluateDefined() 220 DT.State = DefinedTracker::DefinedMacro; in EvaluateDefined() 221 DT.TheMacro = II; in EvaluateDefined() 233 static bool EvaluateValue(PPValue &Result, Token &PeekTok, DefinedTracker &DT, in EvaluateValue() argument 235 DT.State = DefinedTracker::Unknown; in EvaluateValue() 254 return EvaluateDefined(Result, PeekTok, DT, ValueLive, PP); in EvaluateValue() 284 DT.IncludedUndefinedIds = true; in EvaluateValue() 445 if (EvaluateValue(Result, PeekTok, DT, ValueLive, PP)) return true; in EvaluateValue() 454 DT.IncludedUndefinedIds, PP)) in EvaluateValue() [all …]
|