Lines Matching refs:Def
113 // dominates - Return true if Def dominates a use in User. This performs
114 // the special checks necessary if Def and User are in the same basic block.
115 // Note that Def doesn't dominate a use in Def itself!
116 bool DominatorTree::dominates(const Instruction *Def,
119 const BasicBlock *DefBB = Def->getParent();
121 // Any unreachable use is dominated, even if Def == User.
130 if (Def == User)
137 if (isa<InvokeInst>(Def) || isa<CallBrInst>(Def) || isa<PHINode>(User))
138 return dominates(Def, UseBB);
143 return Def->comesBefore(User);
146 // true if Def would dominate a use in any instruction in UseBB.
147 // note that dominates(Def, Def->getParent()) is false.
148 bool DominatorTree::dominates(const Instruction *Def,
150 const BasicBlock *DefBB = Def->getParent();
165 if (const auto *II = dyn_cast<InvokeInst>(Def)) {
172 if (const auto *CBI = dyn_cast<CallBrInst>(Def)) {
251 bool DominatorTree::dominates(const Instruction *Def, const Use &U) const {
253 const BasicBlock *DefBB = Def->getParent();
264 // Any unreachable use is dominated, even if Def == User.
277 if (const InvokeInst *II = dyn_cast<InvokeInst>(Def)) {
284 if (const auto *CBI = dyn_cast<CallBrInst>(Def)) {
301 return Def->comesBefore(UserInst);