Roman Lebedev | 39e3683 | 2020-06-05 12:18:15 +0300 | [diff] [blame] | 1 | ; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py |
Arthur Eubanks | 9adbb5c | 2020-07-16 11:09:47 -0700 | [diff] [blame] | 2 | ; RUN: opt < %s -S -analyze -enable-new-pm=0 -scalar-evolution | FileCheck %s |
| 3 | ; RUN: opt < %s -S -disable-output "-passes=print<scalar-evolution>" 2>&1 | FileCheck %s |
Roman Lebedev | 39e3683 | 2020-06-05 12:18:15 +0300 | [diff] [blame] | 4 | |
| 5 | define i8 @or-of-constant-with-no-common-bits-set(i8 %x, i8 %y) { |
| 6 | ; CHECK-LABEL: 'or-of-constant-with-no-common-bits-set' |
| 7 | ; CHECK-NEXT: Classifying expressions for: @or-of-constant-with-no-common-bits-set |
| 8 | ; CHECK-NEXT: %t0 = shl i8 %x, 2 |
| 9 | ; CHECK-NEXT: --> (4 * %x) U: [0,-3) S: [-128,125) |
| 10 | ; CHECK-NEXT: %r = or i8 %t0, 3 |
| 11 | ; CHECK-NEXT: --> (3 + (4 * %x))<nuw><nsw> U: [3,0) S: [-125,-128) |
| 12 | ; CHECK-NEXT: Determining loop execution counts for: @or-of-constant-with-no-common-bits-set |
| 13 | ; |
| 14 | %t0 = shl i8 %x, 2 |
| 15 | %r = or i8 %t0, 3 |
| 16 | ret i8 %r |
| 17 | } |