Home | History | Annotate | Download | only in InstCombine

Lines Matching refs:Parent

1034   // Parent - initially null, but after drilling down notes where Op came from.
1035 // In the example above, Parent is (Val, 0) when Op is M1, because M1 is the
1037 std::pair<Instruction*, unsigned> Parent;
1046 for (;; Op = Parent.first->getOperand(Parent.second)) { // Drill down
1055 // Replace with the quotient in the parent.
1079 // by its left-hand side in the parent.
1088 Parent = std::make_pair(BO, 1);
1097 Parent = std::make_pair(BO, 0);
1115 // by its left-hand side in the parent.
1123 // by the scale in the parent.
1124 Parent = std::make_pair(BO, 1);
1151 Parent = std::make_pair(Cast, 0);
1168 Parent = std::make_pair(Cast, 0);
1192 if (!Parent.first)
1196 // Rewrite the parent using the descaled version of its operand.
1197 assert(Parent.first->hasOneUse() && "Drilled down when more than one use!");
1198 assert(Op != Parent.first->getOperand(Parent.second) &&
1200 Parent.first->setOperand(Parent.second, Op);
1201 Worklist.Add(Parent.first);
1209 Instruction *Ancestor = Parent.first;