Lines Matching defs:ValueRange
408 * Currently a ValueRange may be generated as a result of the following:
413 class ValueRange : public ArenaObject<kArenaAllocMisc> {
415 ValueRange(ArenaAllocator* allocator, ValueBound lower, ValueBound upper)
418 virtual ~ValueRange() {}
432 virtual bool FitsIn(ValueRange* other_range) const {
444 virtual ValueRange* Narrow(ValueRange* range) {
453 return new (allocator_) ValueRange(
460 ValueRange* Add(int32_t constant) const {
474 return new (allocator_) ValueRange(allocator_, lower, upper);
482 DISALLOW_COPY_AND_ASSIGN(ValueRange);
491 class MonotonicValueRange : public ValueRange {
500 : ValueRange(allocator, ValueBound::Min(), ValueBound::Max()),
540 bool FitsIn(ValueRange* other_range) const OVERRIDE {
549 // Ideally it will return a normal ValueRange. But due to
551 ValueRange* Narrow(ValueRange* range) OVERRIDE {
601 return new (GetAllocator()) ValueRange(GetAllocator(), lower, range->GetUpper());
621 return new (GetAllocator()) ValueRange(GetAllocator(), range->GetLower(), upper);
686 ValueRange* NarrowWithDeoptimization() {
726 return new (GetAllocator()) ValueRange(GetAllocator(), lower, upper);
1131 ArenaSafeMap<int, ValueRange*>* GetValueRangeMap(HBasicBlock* basic_block) {
1138 std::unique_ptr<ArenaSafeMap<int, ValueRange*>> map(
1139 new ArenaSafeMap<int, ValueRange*>(
1147 ValueRange* LookupValueRange(HInstruction* instruction, HBasicBlock* basic_block) {
1149 ArenaSafeMap<int, ValueRange*>* map = GetValueRangeMap(basic_block);
1166 HBasicBlock* successor, ValueRange* range) {
1167 ValueRange* existing_range = LookupValueRange(instruction, basic_block);
1182 ValueRange* narrowed_range = existing_range->Narrow(range);
1232 ValueRange* new_left_range = new (GetGraph()->GetArena()) ValueRange(
1241 ValueRange* new_right_range = new (GetGraph()->GetArena()) ValueRange(
1265 ValueRange* left_range = LookupValueRange(left, block);
1288 ValueRange* right_range = LookupValueRange(right, block);
1325 ValueRange* new_range = new (GetGraph()->GetArena())
1326 ValueRange(GetGraph()->GetArena(), ValueBound::Min(), new_upper);
1337 ValueRange* new_range = new (GetGraph()->GetArena())
1338 ValueRange(GetGraph()->GetArena(), new_lower, ValueBound::Max());
1360 ValueRange* new_range = new (GetGraph()->GetArena())
1361 ValueRange(GetGraph()->GetArena(), new_lower, ValueBound::Max());
1371 ValueRange* new_range = new (GetGraph()->GetArena())
1372 ValueRange(GetGraph()->GetArena(), ValueBound::Min(), new_upper);
1394 ValueRange* index_range = LookupValueRange(index, block);
1398 ValueRange* array_range = new (GetGraph()->GetArena())
1399 ValueRange(GetGraph()->GetArena(), lower, upper);
1419 ValueRange* existing_range = LookupValueRange(array_length, block);
1455 ValueRange* range = new (GetGraph()->GetArena())
1456 ValueRange(GetGraph()->GetArena(), lower, upper);
1492 ValueRange* range = nullptr;
1495 range = new (GetGraph()->GetArena()) ValueRange(
1508 ValueRange* initial_range = LookupValueRange(initial_value, phi->GetBlock());
1540 ValueRange* left_range = LookupValueRange(left, block);
1555 ValueRange* new_left_range = LookupValueRange(left, loop_body_successor);
1576 ValueRange* left_range = LookupValueRange(add->GetLeft(), add->GetBlock());
1580 ValueRange* range = left_range->Add(right->AsIntConstant()->GetValue());
1591 ValueRange* left_range = LookupValueRange(left, sub->GetBlock());
1595 ValueRange* range = left_range->Add(-right->AsIntConstant()->GetValue());
1616 ValueRange* right_range = LookupValueRange(right, sub->GetBlock());
1633 ValueRange* range = new (GetGraph()->GetArena()) ValueRange(
1681 ValueRange* range = new (GetGraph()->GetArena()) ValueRange(
1707 ValueRange* range = new (GetGraph()->GetArena()) ValueRange(
1729 ValueRange* range = new (GetGraph()->GetArena())
1730 ValueRange(GetGraph()->GetArena(), lower, upper);
1731 ValueRange* existing_range = LookupValueRange(left, new_array->GetBlock());
1750 ValueRange* range = new (GetGraph()->GetArena())
1751 ValueRange(GetGraph()->GetArena(), lower, ValueBound::Max());
1760 ValueRange* range = LookupValueRange(array_length, block);
1820 std::vector<std::unique_ptr<ArenaSafeMap<int, ValueRange*>>> maps_;