Lines Matching defs:Bound
33 ArrayBoundsCheckElimination::Bound::Bound()
41 ArrayBoundsCheckElimination::Bound::Bound(int lower, GateRef lowerGate, int upper, GateRef upperGate)
49 ArrayBoundsCheckElimination::Bound::Bound(TypedBinOp op, GateRef gate, int constant)
95 ArrayBoundsCheckElimination::Bound *ArrayBoundsCheckElimination::AndOp(Bound *bound, Bound *b)
150 ArrayBoundsCheckElimination::Bound *ArrayBoundsCheckElimination::OrOp(Bound *bound, Bound *b)
170 ArrayBoundsCheckElimination::Bound *ArrayBoundsCheckElimination::DoConstant(GateRef gate)
173 return chunk_->New<Bound>(constValue, Circuit::NullGate(), constValue, Circuit::NullGate());
176 ArrayBoundsCheckElimination::Bound *ArrayBoundsCheckElimination::DoBinaryArithmeticOp(GateRef gate)
190 return chunk_->New<Bound>(0, Circuit::NullGate(), constValue, Circuit::NullGate());
193 Bound *xBound = GetBound(x);
195 return chunk_->New<Bound>(0, Circuit::NullGate(), -1, y);
200 return chunk_->New<Bound>(0, Circuit::NullGate(), abs(constValue) - 1, Circuit::NullGate());
202 return chunk_->New<Bound>();
205 return chunk_->New<Bound>();
220 Bound *bound = GetBound(y);
226 return chunk_->New<Bound>();
236 return chunk_->New<Bound>();
238 return chunk_->New<Bound>(newLower, bound->LowerGate(), newUpper, bound->UpperGate());
241 Bound *bound = GetBound(x);
247 return chunk_->New<Bound>(TypedBinOp::TYPED_GREATEREQ, Circuit::NullGate(), bound->Lower());
249 return chunk_->New<Bound>();
252 return chunk_->New<Bound>();
258 ArrayBoundsCheckElimination::Bound *ArrayBoundsCheckElimination::DoUnaryArithmeticOp(GateRef gate)
268 return chunk_->New<Bound>();
270 Bound *bound = GetBound(x);
273 return chunk_->New<Bound>();
283 return chunk_->New<Bound>();
285 return chunk_->New<Bound>(newLower, bound->LowerGate(), newUpper, bound->UpperGate());
301 ArrayBoundsCheckElimination::Bound *ArrayBoundsCheckElimination::DoPhi(GateRef gate)
303 Bound *bound = nullptr;
330 Bound *vBound = GetBound(value);
335 Bound *curBound;
340 curBound = chunk_->New<Bound>(curConstant, curGate, curConstant, curGate);
352 bound = chunk_->New<Bound>();
366 ArrayBoundsCheckElimination::Bound *ArrayBoundsCheckElimination::VisitGate(GateRef gate)
464 ArrayBoundsCheckElimination::Bound *ArrayBoundsCheckElimination::GetBound(GateRef gate)
471 Bound *bound = VisitGate(gate);
476 bounds_[acc_.GetId(gate)]->push_back(chunk_->New<Bound>());
479 return chunk_->New<Bound>();
484 void ArrayBoundsCheckElimination::UpdateBound(IntegerStack &pushed, GateRef gate, Bound *bound)
493 Bound* top = nullptr;
528 Bound *bound = chunk_->New<Bound>(op, instrValue, constValue);
578 bool ArrayBoundsCheckElimination::InArrayBound(Bound *bound, GateRef length, GateRef array)
715 Bound *indexBound = GetBound(index);
979 Bound *b = GetBound(index);