Home | History | Annotate | Download | only in IR

Lines Matching defs:dominates

74 // dominates - Return true if Def dominates a use in User. This performs
77 bool DominatorTree::dominates(const Instruction *Def,
94 // The value defined by an invoke dominates an instruction only if it
95 // dominates every instruction in UseBB.
96 // A PHI is dominated only if the instruction dominates every possible use in
99 return dominates(Def, UseBB);
102 return dominates(DefBB, UseBB);
113 // note that dominates(Def, Def->getParent()) is false.
114 bool DominatorTree::dominates(const Instruction *Def,
134 return dominates(E, UseBB);
137 return dominates(DefBB, UseBB);
140 bool DominatorTree::dominates(const BasicBlockEdge &BBE,
152 if (!dominates(End, UseBB))
156 // dominates the use block implies that the edge also does.
161 // like to do is split it and check if the new block dominates the use.
176 // dominates all of NormalDest's predecessors (X, B, C in the example). X
177 // trivially dominates itself, so we only have to find if it dominates the
179 // only properly dominate a node if NormalDest dominates that node too.
186 if (!dominates(End, BB))
192 bool DominatorTree::dominates(const BasicBlockEdge &BBE, const Use &U) const {
206 // Otherwise use the edge-dominates-block query, which
213 return dominates(BBE, UseBB);
216 bool DominatorTree::dominates(const Instruction *Def, const Use &U) const {
245 return dominates(E, U);
251 return dominates(DefBB, UseBB);
254 // doesn't dominate anything in the block. If it's a PHI, it dominates