Lines Matching refs:Constraint
76 class LoopVariableOptimizer::Constraint : public ZoneObject {
82 const Constraint* next() const { return next_; }
84 Constraint(Node* left, InductionVariable::ConstraintKind kind, Node* right,
85 const Constraint* next)
92 const Constraint* next_;
107 head_ = new (zone) Constraint(left, kind, right, head_);
119 const Constraint* other_limit = other->head_;
139 const Constraint* head() const { return head_; }
146 const Constraint* head_ = nullptr;
175 // this loop if they are involved in the constraint.
177 for (const Constraint* constraint = limits->head(); constraint != nullptr;
178 constraint = constraint->next()) {
179 if (constraint->left()->opcode() == IrOpcode::kPhi &&
180 NodeProperties::GetControlInput(constraint->left()) == loop) {
181 auto var = induction_vars_.find(constraint->left()->id());
183 var->second->AddUpperBound(constraint->right(), constraint->kind());
186 if (constraint->right()->opcode() == IrOpcode::kPhi &&
187 NodeProperties::GetControlInput(constraint->right()) == loop) {
188 auto var = induction_vars_.find(constraint->right()->id());
190 var->second->AddLowerBound(constraint->left(), constraint->kind());