Lines Matching refs:Value

26 using Value = InductionVarRange::Value;
44 void ExpectEqual(Value v1, Value v2) {
199 Value GetMin(HInductionVarAnalysis::InductionInfo* info,
204 Value GetMax(HInductionVarAnalysis::InductionInfo* info,
209 Value GetMul(HInductionVarAnalysis::InductionInfo* info1,
215 Value GetDiv(HInductionVarAnalysis::InductionInfo* info1,
233 Value AddValue(Value v1, Value v2) { return range_.AddValue(v1, v2); }
234 Value SubValue(Value v1, Value v2) { return range_.SubValue(v1, v2); }
235 Value MulValue(Value v1, Value v2) { return range_.MulValue(v1, v2); }
236 Value DivValue(Value v1, Value v2) { return range_.DivValue(v1, v2); }
237 Value MinValue(Value v1, Value v2) { return range_.MergeVal(v1, v2, true); }
238 Value MaxValue(Value v1, Value v2) { return range_.MergeVal(v1, v2, false); }
310 ExpectEqual(Value(), GetMin(nullptr, nullptr));
311 ExpectEqual(Value(), GetMax(nullptr, nullptr));
315 ExpectEqual(Value(12),
317 ExpectEqual(Value(22),
319 ExpectEqual(Value(x_, 1, -20),
321 ExpectEqual(Value(x_, 1, -10),
323 ExpectEqual(Value(x_, 1, 10),
325 ExpectEqual(Value(x_, 1, 20),
327 ExpectEqual(Value(5),
329 ExpectEqual(Value(19),
334 ExpectEqual(Value(-18),
336 ExpectEqual(Value(-8),
338 ExpectEqual(Value(x_, 1, 10),
340 ExpectEqual(Value(x_, 1, 20),
342 ExpectEqual(Value(x_, -1, 10),
344 ExpectEqual(Value(x_, -1, 20),
346 ExpectEqual(Value(-25),
348 ExpectEqual(Value(-11),
353 ExpectEqual(Value(-20), GetMin(CreateInvariant('n', nullptr, CreateRange(10, 20)), nullptr));
354 ExpectEqual(Value(-10), GetMax(CreateInvariant('n', nullptr, CreateRange(10, 20)), nullptr));
355 ExpectEqual(Value(10), GetMin(CreateInvariant('n', nullptr, CreateRange(-20, -10)), nullptr));
356 ExpectEqual(Value(20), GetMax(CreateInvariant('n', nullptr, CreateRange(-20, -10)), nullptr));
357 ExpectEqual(Value(x_, -1, 0), GetMin(CreateInvariant('n', nullptr, CreateFetch(x_)), nullptr));
358 ExpectEqual(Value(x_, -1, 0), GetMax(CreateInvariant('n', nullptr, CreateFetch(x_)), nullptr));
362 ExpectEqual(Value(20),
364 ExpectEqual(Value(40),
369 ExpectEqual(Value(3),
371 ExpectEqual(Value(5),
376 ExpectEqual(Value(12345), GetMin(CreateConst(12345), nullptr));
377 ExpectEqual(Value(12345), GetMax(CreateConst(12345), nullptr));
381 ExpectEqual(Value(x_, 1, 0), GetMin(CreateFetch(x_), nullptr));
382 ExpectEqual(Value(x_, 1, 0), GetMax(CreateFetch(x_), nullptr));
386 ExpectEqual(Value(20), GetMin(CreateLinear(10, 20), CreateTripCount(100, true, true)));
387 ExpectEqual(Value(1010), GetMax(CreateLinear(10, 20), CreateTripCount(100, true, true)));
388 ExpectEqual(Value(-970), GetMin(CreateLinear(-10, 20), CreateTripCount(100, true, true)));
389 ExpectEqual(Value(20), GetMax(CreateLinear(-10, 20), CreateTripCount(100, true, true)));
393 ExpectEqual(Value(-5), GetMin(CreateWrapAround(-5, -1, 10), nullptr));
394 ExpectEqual(Value(10), GetMax(CreateWrapAround(-5, -1, 10), nullptr));
395 ExpectEqual(Value(-1), GetMin(CreateWrapAround(2, -1, 10), nullptr));
396 ExpectEqual(Value(10), GetMax(CreateWrapAround(2, -1, 10), nullptr));
397 ExpectEqual(Value(-1), GetMin(CreateWrapAround(20, -1, 10), nullptr));
398 ExpectEqual(Value(20), GetMax(CreateWrapAround(20, -1, 10), nullptr));
402 ExpectEqual(Value(-2), GetMin(CreateRange(-2, 99), nullptr));
403 ExpectEqual(Value(99), GetMax(CreateRange(-2, 99), nullptr));
407 ExpectEqual(Value(-14), GetMul(CreateConst(2), CreateRange(-7, 8), true));
408 ExpectEqual(Value(-16), GetMul(CreateConst(-2), CreateRange(-7, 8), true));
409 ExpectEqual(Value(-14), GetMul(CreateRange(-7, 8), CreateConst(2), true));
410 ExpectEqual(Value(-16), GetMul(CreateRange(-7, 8), CreateConst(-2), true));
411 ExpectEqual(Value(6), GetMul(CreateRange(2, 10), CreateRange(3, 5), true));
412 ExpectEqual(Value(-50), GetMul(CreateRange(2, 10), CreateRange(-5, -3), true));
413 ExpectEqual(Value(), GetMul(CreateRange(2, 10), CreateRange(-1, 1), true));
414 ExpectEqual(Value(-50), GetMul(CreateRange(-10, -2), CreateRange(3, 5), true));
415 ExpectEqual(Value(6), GetMul(CreateRange(-10, -2), CreateRange(-5, -3), true));
416 ExpectEqual(Value(), GetMul(CreateRange(-10, -2), CreateRange(-1, 1), true));
417 ExpectEqual(Value(), GetMul(CreateRange(-1, 1), CreateRange(2, 10), true));
418 ExpectEqual(Value(), GetMul(CreateRange(-1, 1), CreateRange(-10, -2), true));
419 ExpectEqual(Value(), GetMul(CreateRange(-1, 1), CreateRange(-1, 1), true));
423 ExpectEqual(Value(16), GetMul(CreateConst(2), CreateRange(-7, 8), false));
424 ExpectEqual(Value(14), GetMul(CreateConst(-2), CreateRange(-7, 8), false));
425 ExpectEqual(Value(16), GetMul(CreateRange(-7, 8), CreateConst(2), false));
426 ExpectEqual(Value(14), GetMul(CreateRange(-7, 8), CreateConst(-2), false));
427 ExpectEqual(Value(50), GetMul(CreateRange(2, 10), CreateRange(3, 5), false));
428 ExpectEqual(Value(-6), GetMul(CreateRange(2, 10), CreateRange(-5, -3), false));
429 ExpectEqual(Value(), GetMul(CreateRange(2, 10), CreateRange(-1, 1), false));
430 ExpectEqual(Value(-6), GetMul(CreateRange(-10, -2), CreateRange(3, 5), false));
431 ExpectEqual(Value(50), GetMul(CreateRange(-10, -2), CreateRange(-5, -3), false));
432 ExpectEqual(Value(), GetMul(CreateRange(-10, -2), CreateRange(-1, 1), false));
433 ExpectEqual(Value(), GetMul(CreateRange(-1, 1), CreateRange(2, 10), false));
434 ExpectEqual(Value(), GetMul(CreateRange(-1, 1), CreateRange(-10, -2), false));
435 ExpectEqual(Value(), GetMul(CreateRange(-1, 1), CreateRange(-1, 1), false));
439 ExpectEqual(Value(-5), GetDiv(CreateRange(-10, 20), CreateConst(2), true));
440 ExpectEqual(Value(-10), GetDiv(CreateRange(-10, 20), CreateConst(-2), true));
441 ExpectEqual(Value(10), GetDiv(CreateRange(40, 1000), CreateRange(2, 4), true));
442 ExpectEqual(Value(-500), GetDiv(CreateRange(40, 1000), CreateRange(-4, -2), true));
443 ExpectEqual(Value(), GetDiv(CreateRange(40, 1000), CreateRange(-1, 1), true));
444 ExpectEqual(Value(-500), GetDiv(CreateRange(-1000, -40), CreateRange(2, 4), true));
445 ExpectEqual(Value(10), GetDiv(CreateRange(-1000, -40), CreateRange(-4, -2), true));
446 ExpectEqual(Value(), GetDiv(CreateRange(-1000, -40), CreateRange(-1, 1), true));
447 ExpectEqual(Value(), GetDiv(CreateRange(-1, 1), CreateRange(40, 1000), true));
448 ExpectEqual(Value(), GetDiv(CreateRange(-1, 1), CreateRange(-1000, -40), true));
449 ExpectEqual(Value(), GetDiv(CreateRange(-1, 1), CreateRange(-1, 1), true));
453 ExpectEqual(Value(10), GetDiv(CreateRange(-10, 20), CreateConst(2), false));
454 ExpectEqual(Value(5), GetDiv(CreateRange(-10, 20), CreateConst(-2), false));
455 ExpectEqual(Value(500), GetDiv(CreateRange(40, 1000), CreateRange(2, 4), false));
456 ExpectEqual(Value(-10), GetDiv(CreateRange(40, 1000), CreateRange(-4, -2), false));
457 ExpectEqual(Value(), GetDiv(CreateRange(40, 1000), CreateRange(-1, 1), false));
458 ExpectEqual(Value(-10), GetDiv(CreateRange(-1000, -40), CreateRange(2, 4), false));
459 ExpectEqual(Value(500), GetDiv(CreateRange(-1000, -40), CreateRange(-4, -2), false));
460 ExpectEqual(Value(), GetDiv(CreateRange(-1000, -40), CreateRange(-1, 1), false));
461 ExpectEqual(Value(), GetDiv(CreateRange(-1, 1), CreateRange(40, 1000), false));
462 ExpectEqual(Value(), GetDiv(CreateRange(-1, 1), CreateRange(-1000, 40), false));
463 ExpectEqual(Value(), GetDiv(CreateRange(-1, 1), CreateRange(-1, 1), false));
467 ExpectEqual(Value(110), AddValue(Value(10), Value(100)));
468 ExpectEqual(Value(-5), AddValue(Value(x_, 1, -4), Value(x_, -1, -1)));
469 ExpectEqual(Value(x_, 3, -5), AddValue(Value(x_, 2, -4), Value(x_, 1, -1)));
470 ExpectEqual(Value(), AddValue(Value(x_, 1, 5), Value(y_, 1, -7)));
471 ExpectEqual(Value(x_, 1, 23), AddValue(Value(x_, 1, 20), Value(3)));
472 ExpectEqual(Value(y_, 1, 5), AddValue(Value(55), Value(y_, 1, -50)));
474 ExpectEqual(Value(max_value), AddValue(Value(max_value - 5), Value(5)));
475 ExpectEqual(Value(), AddValue(Value(max_value - 5), Value(6))); // unsafe
479 ExpectEqual(Value(-90), SubValue(Value(10), Value(100)));
480 ExpectEqual(Value(-3), SubValue(Value(x_, 1, -4), Value(x_, 1, -1)));
481 ExpectEqual(Value(x_, 2, -3), SubValue(Value(x_, 3, -4), Value(x_, 1, -1)));
482 ExpectEqual(Value(), SubValue(Value(x_, 1, 5), Value(y_, 1, -7)));
483 ExpectEqual(Value(x_, 1, 17), SubValue(Value(x_, 1, 20), Value(3)));
484 ExpectEqual(Value(y_, -4, 105), SubValue(Value(55), Value(y_, 4, -50)));
486 ExpectEqual(Value(min_value), SubValue(Value(min_value + 5), Value(5)));
487 ExpectEqual(Value(), SubValue(Value(min_value + 5), Value(6))); // unsafe
491 ExpectEqual(Value(1000), MulValue(Value(10), Value(100)));
492 ExpectEqual(Value(), MulValue(Value(x_, 1, -4), Value(x_, 1, -1)));
493 ExpectEqual(Value(), MulValue(Value(x_, 1, 5), Value(y_, 1, -7)));
494 ExpectEqual(Value(x_, 9, 60), MulValue(Value(x_, 3, 20), Value(3)));
495 ExpectEqual(Value(y_, 55, -110), MulValue(Value(55), Value(y_, 1, -2)));
496 ExpectEqual(Value(), MulValue(Value(90000), Value(-90000))); // unsafe
504 ExpectEqual(Value(), MulValue(Value(min_value), Value(min_value)));
505 ExpectEqual(Value(), MulValue(Value(min_value), Value(-1)));
506 ExpectEqual(Value(), MulValue(Value(min_value), Value(max_value)));
507 ExpectEqual(Value(), MulValue(Value(max_value), Value(max_value)));
510 ExpectEqual(Value(min_value), MulValue(Value(min_value), Value(1)));
511 ExpectEqual(Value(max_value), MulValue(Value(max_value), Value(1)));
512 ExpectEqual(Value(-max_value), MulValue(Value(max_value), Value(-1)));
513 ExpectEqual(Value(-1), MulValue(Value(1), Value(-1)));
514 ExpectEqual(Value(1), MulValue(Value(-1), Value(-1)));
518 ExpectEqual(Value(25), DivValue(Value(100), Value(4)));
519 ExpectEqual(Value(), DivValue(Value(x_, 1, -4), Value(x_, 1, -1)));
520 ExpectEqual(Value(), DivValue(Value(x_, 1, 5), Value(y_, 1, -7)));
521 ExpectEqual(Value(), DivValue(Value(x_, 12, 24), Value(3)));
522 ExpectEqual(Value(), DivValue(Value(55), Value(y_, 1, -50)));
523 ExpectEqual(Value(), DivValue(Value(1), Value(0))); // unsafe
531 ExpectEqual(Value(), DivValue(Value(min_value), Value(-1)));
534 ExpectEqual(Value(1), DivValue(Value(min_value), Value(min_value)));
535 ExpectEqual(Value(1), DivValue(Value(max_value), Value(max_value)));
536 ExpectEqual(Value(min_value), DivValue(Value(min_value), Value(1)));
537 ExpectEqual(Value(max_value), DivValue(Value(max_value), Value(1)));
538 ExpectEqual(Value(-max_value), DivValue(Value(max_value), Value(-1)));
539 ExpectEqual(Value(-1), DivValue(Value(1), Value(-1)));
540 ExpectEqual(Value(1), DivValue(Value(-1), Value(-1)));
544 ExpectEqual(Value(10), MinValue(Value(10), Value(100)));
545 ExpectEqual(Value(x_, 1, -4), MinValue(Value(x_, 1, -4), Value(x_, 1, -1)));
546 ExpectEqual(Value(x_, 4, -4), MinValue(Value(x_, 4, -4), Value(x_, 4, -1)));
547 ExpectEqual(Value(), MinValue(Value(x_, 1, 5), Value(y_, 1, -7)));
548 ExpectEqual(Value(), MinValue(Value(x_, 1, 20), Value(3)));
549 ExpectEqual(Value(), MinValue(Value(55), Value(y_, 1, -50)));
553 ExpectEqual(Value(100), MaxValue(Value(10), Value(100)));
554 ExpectEqual(Value(x_, 1, -1), MaxValue(Value(x_, 1, -4), Value(x_, 1, -1)));
555 ExpectEqual(Value(x_, 4, -1), MaxValue(Value(x_, 4, -4), Value(x_, 4, -1)));
556 ExpectEqual(Value(), MaxValue(Value(x_, 1, 5), Value(y_, 1, -7)));
557 ExpectEqual(Value(), MaxValue(Value(x_, 1, 20), Value(3)));
558 ExpectEqual(Value(), MaxValue(Value(55), Value(y_, 1, -50)));
569 Value v1, v2;
575 ExpectEqual(Value(0), v1);
576 ExpectEqual(Value(1000), v2);
582 ExpectEqual(Value(0), v1);
583 ExpectEqual(Value(999), v2);
587 ExpectEqual(Value(1), v1);
588 ExpectEqual(Value(1000), v2);
596 Value v1, v2;
602 ExpectEqual(Value(0), v1);
603 ExpectEqual(Value(1000), v2);
609 ExpectEqual(Value(1), v1);
610 ExpectEqual(Value(1000), v2);
614 ExpectEqual(Value(0), v1);
615 ExpectEqual(Value(999), v2);
623 Value v1, v2;
630 ExpectEqual(Value(0), v1);
631 ExpectEqual(Value(), v2);
637 ExpectEqual(Value(0), v1);
638 ExpectEqual(Value(x_, 1, -1), v2);
642 ExpectEqual(Value(1), v1);
643 ExpectEqual(Value(x_, 1, 0), v2);
693 Value v1, v2;
700 ExpectEqual(Value(), v1);
701 ExpectEqual(Value(1000), v2);
707 ExpectEqual(Value(x_, 1, 1), v1);
708 ExpectEqual(Value(1000), v2);
712 ExpectEqual(Value(x_, 1, 0), v1);
713 ExpectEqual(Value(999), v2);