Lines Matching refs:Other
34 /// unlinkNode - Unlink the specified node from this chain. If Other == this,
35 /// we unlink the next pointer and return it. Otherwise we unlink Other from
37 Matcher *Matcher::unlinkNode(Matcher *Other) {
38 if (this == Other)
41 // Scan until we find the predecessor of Other.
43 for (; Cur && Cur->getNext() != Other; Cur = Cur->getNext())
48 Cur->setNext(Other->takeNext());
52 /// canMoveBefore - Return true if this matcher is the same as Other, or if
53 /// we can move this matcher past all of the nodes in-between Other and this
54 /// node. Other must be equal to or before this.
55 bool Matcher::canMoveBefore(const Matcher *Other) const {
56 for (;; Other = Other->getNext()) {
57 assert(Other && "Other didn't come before 'this'?");
58 if (this == Other) return true;
60 // We have to be able to move this node across the Other node.
61 if (!canMoveBeforeNode(Other))
68 bool Matcher::canMoveBeforeNode(const Matcher *Other) const {
71 return Other->isSimplePredicateOrRecordNode();
77 // We can't move record nodes across each other etc.
350 // If either type is about iPtr, then they don't conflict unless the other
379 if (NodeType != MVT::Other)