Home | History | Annotate | Download | only in optimizing

Lines Matching refs:ValueRange

283  * Currently a ValueRange may be generated as a result of the following:
288 class ValueRange : public ArenaObject<kArenaAllocBoundsCheckElimination> {
290 ValueRange(ArenaAllocator* allocator, ValueBound lower, ValueBound upper)
293 virtual ~ValueRange() {}
307 virtual bool FitsIn(ValueRange* other_range) const {
319 virtual ValueRange* Narrow(ValueRange* range) {
328 return new (allocator_) ValueRange(
335 ValueRange* Add(int32_t constant) const {
349 return new (allocator_) ValueRange(allocator_, lower, upper);
357 DISALLOW_COPY_AND_ASSIGN(ValueRange);
366 class MonotonicValueRange : public ValueRange {
375 : ValueRange(allocator, ValueBound::Min(), ValueBound::Max()),
393 bool FitsIn(ValueRange* other_range) const OVERRIDE {
402 // Ideally it will return a normal ValueRange. But due to
404 ValueRange* Narrow(ValueRange* range) OVERRIDE {
454 return new (GetAllocator()) ValueRange(GetAllocator(), lower, range->GetUpper());
474 return new (GetAllocator()) ValueRange(GetAllocator(), range->GetLower(), upper);
514 ArenaSafeMap<int, ValueRange*>(
572 ArenaSafeMap<int, ValueRange*>* GetValueRangeMap(HBasicBlock* basic_block) {
581 ValueRange* LookupValueRange(HInstruction* instruction, HBasicBlock* basic_block) {
583 ArenaSafeMap<int, ValueRange*>* map = GetValueRangeMap(basic_block);
598 void AssignRange(HBasicBlock* basic_block, HInstruction* instruction, ValueRange* range) {
605 HBasicBlock* successor, ValueRange* range) {
606 ValueRange* existing_range = LookupValueRange(instruction, basic_block);
670 ValueRange* new_left_range = new (GetGraph()->GetArena()) ValueRange(
679 ValueRange* new_right_range = new (GetGraph()->GetArena()) ValueRange(
703 ValueRange* left_range = LookupValueRange(left, block);
726 ValueRange* right_range = LookupValueRange(right, block);
752 ValueRange* new_range = new (GetGraph()->GetArena())
753 ValueRange(GetGraph()->GetArena(), ValueBound::Min(), new_upper);
764 ValueRange* new_range = new (GetGraph()->GetArena())
765 ValueRange(GetGraph()->GetArena(), new_lower, ValueBound::Max());
776 ValueRange* new_range = new (GetGraph()->GetArena())
777 ValueRange(GetGraph()->GetArena(), new_lower, ValueBound::Max());
787 ValueRange* new_range = new (GetGraph()->GetArena())
788 ValueRange(GetGraph()->GetArena(), ValueBound::Min(), new_upper);
797 ValueRange* new_range = new (GetGraph()->GetArena())
798 ValueRange(GetGraph()->GetArena(), lower, upper);
806 ValueRange* new_range = new (GetGraph()->GetArena())
807 ValueRange(GetGraph()->GetArena(), ValueBound(nullptr, 1), ValueBound::Max());
828 ValueRange array_range(GetGraph()->GetArena(), lower, upper);
830 ValueRange* index_range = LookupValueRange(index, block);
855 ValueRange
877 ValueRange* range = new (GetGraph()->GetArena())
878 ValueRange(GetGraph()->GetArena(), lower, upper);
937 ValueRange* range = nullptr;
940 range = new (GetGraph()->GetArena()) ValueRange(
953 ValueRange* initial_range = LookupValueRange(initial_value, phi->GetBlock());
984 ValueRange* left_range = LookupValueRange(add->GetLeft(), add->GetBlock());
988 ValueRange* range = left_range->Add(right->AsIntConstant()->GetValue());
999 ValueRange* left_range = LookupValueRange(left, sub->GetBlock());
1003 ValueRange* range = left_range->Add(-right->AsIntConstant()->GetValue());
1024 ValueRange* right_range = LookupValueRange(right, sub->GetBlock());
1041 ValueRange* range = new (GetGraph()->GetArena()) ValueRange(
1089 ValueRange* range = new (GetGraph()->GetArena()) ValueRange(
1115 ValueRange* range = new (GetGraph()->GetArena()) ValueRange(
1137 ValueRange* range = new (GetGraph()->GetArena())
1138 ValueRange(GetGraph()->GetArena(), lower, upper);
1139 ValueRange* existing_range = LookupValueRange(left, new_array->GetBlock());
1306 bool InductionRangeFitsIn(ValueRange* array_range,
1319 ValueRange index_range(GetGraph()->GetArena(),
1818 ArenaVector<ArenaSafeMap<int, ValueRange*>> maps_;