| 123456789101112131415161718192021222324252627282930313233343536373839 |
- ; RUN: opt -analyze -scalar-evolution < %s | FileCheck %s
- ; ScalarEvolution shouldn't attempt to interpret expressions which have
- ; undefined results.
- define void @foo(i64 %x) {
- %a = udiv i64 %x, 0
- ; CHECK: --> (%x /u 0)
- %B = shl i64 %x, 64
- ; CHECK: --> %B
- %b = ashr i64 %B, 64
- ; CHECK: --> %b
- %c = lshr i64 %x, 64
- ; CHECK: --> %c
- %d = shl i64 %x, 64
- ; CHECK: --> %d
- %E = shl i64 %x, -1
- ; CHECK: --> %E
- %e = ashr i64 %E, -1
- ; CHECK: --> %e
- %f = lshr i64 %x, -1
- ; CHECK: --> %f
- %g = shl i64 %x, -1
- ; CHECK: --> %g
- %h = bitcast i64 undef to i64
- ; CHECK: --> undef
- ret void
- }
|