Home | History | Annotate | Download | only in IR

Lines Matching refs:Def

96 // dominates - Return true if Def dominates a use in User. This performs
97 // the special checks necessary if Def and User are in the same basic block.
98 // Note that Def doesn't dominate a use in Def itself!
99 bool DominatorTree::dominates(const Instruction *Def,
102 const BasicBlock *DefBB = Def->getParent();
104 // Any unreachable use is dominated, even if Def == User.
113 if (Def == User)
120 if (isa<InvokeInst>(Def) || isa<PHINode>(User))
121 return dominates(Def, UseBB);
126 // Loop through the basic block until we find Def or User.
128 for (; &*I != Def && &*I != User; ++I)
131 return &*I == Def;
134 // true if Def would dominate a use in any instruction in UseBB.
135 // note that dominates(Def, Def->getParent()) is false.
136 bool DominatorTree::dominates(const Instruction *Def,
138 const BasicBlock *DefBB = Def->getParent();
151 const InvokeInst *II = dyn_cast<InvokeInst>(Def);
237 bool DominatorTree::dominates(const Instruction *Def,
240 const BasicBlock *DefBB = Def->getParent();
251 // Any unreachable use is dominated, even if Def == User.
264 if (const InvokeInst *II = dyn_cast<InvokeInst>(Def)) {
270 // If the def and use are in different blocks, do a simple CFG dominator
275 // Ok, def and use are in the same block. If the def is an invoke, it
281 // Otherwise, just loop through the basic block until we find Def or User.
283 for (; &*I != Def && &*I != UserInst; ++I)