Lines Matching refs:DT
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()
173 static void PrintDebugDomInfo(const DominatorTree &DT, const Use &U, in PrintDebugDomInfo() argument
179 << ", is " << (DT.dominates(BB, U) ? "" : "NOT ") in PrintDebugDomInfo()
185 void UpdateSSA(DominatorTree &DT, CallBrInst *CBR, CallInst *Intrinsic, in UpdateSSA() argument
198 PrintDebugDomInfo(DT, *U, LandingPad, /*IsDefaultDest*/ false); in UpdateSSA()
199 PrintDebugDomInfo(DT, *U, DefaultDest, /*IsDefaultDest*/ true); in UpdateSSA()
215 if (DT.dominates(DefaultDest, *U)) in UpdateSSA()
236 DominatorTree *DT; in runOnFunction() local
239 DT = &DTWP->getDomTree(); in runOnFunction()
242 DT = &*LazilyComputedDomTree; in runOnFunction()
245 if (SplitCriticalEdges(CBRs, *DT)) in runOnFunction()
248 if (InsertIntrinsicCalls(CBRs, *DT)) in runOnFunction()