Home | History | Annotate | Download | only in IR

Lines Matching defs:dominates

96 // dominates - Return true if Def dominates a use in User. This performs
99 bool DominatorTree::dominates(const Instruction *Def,
116 // The value defined by an invoke dominates an instruction only if
117 // it dominates every instruction in UseBB.
118 // A PHI is dominated only if the instruction dominates every possible use
121 return dominates(Def, UseBB);
124 return dominates(DefBB, UseBB);
135 // note that dominates(Def, Def->getParent()) is false.
136 bool DominatorTree::dominates(const Instruction *Def,
153 return dominates(DefBB, UseBB);
159 return dominates(E, UseBB);
162 bool DominatorTree::dominates(const BasicBlockEdge &BBE,
173 if (!dominates(End, UseBB))
177 // dominates the use block implies that the edge also does.
182 // like to do is split it and check if the new block dominates the use.
197 // dominates all of NormalDest's predecessors (X, B, C in the example). X
198 // trivially dominates itself, so we only have to find if it dominates the
200 // only properly dominate a node if NormalDest dominates that node too.
207 if (!dominates(End, BB))
213 bool DominatorTree::dominates(const BasicBlockEdge &BBE,
227 // Otherwise use the edge-dominates-block query, which
234 return dominates(BBE, UseBB);
237 bool DominatorTree::dominates(const Instruction *Def,
267 return dominates(E, U);
273 return dominates(DefBB, UseBB);
276 // doesn't dominate anything in the block. If it's a PHI, it dominates