Re-land [openmp] Fix warnings when building on Windows with latest MSVC or Clang...
[llvm-project.git] / llvm / test / Analysis / ScalarEvolution / undefined.ll
blob93ecf28dc65b23cdb2fb2494d0b53ea04373d0eb
1 ; RUN: opt -disable-output "-passes=print<scalar-evolution>" < %s 2>&1 | FileCheck %s
3 ; ScalarEvolution shouldn't attempt to interpret expressions which have
4 ; undefined results.
6 define void @foo(i64 %x) {
8   %a = udiv i64 %x, 0
9 ; CHECK: -->  (%x /u 0)
11   %B = shl i64 %x, 64
12 ; CHECK: -->  %B
14   %b = ashr i64 %B, 64
15 ; CHECK: -->  %b
17   %c = lshr i64 %x, 64
18 ; CHECK: -->  %c
20   %d = shl i64 %x, 64
21 ; CHECK: -->  %d
23   %E = shl i64 %x, -1
24 ; CHECK: -->  %E
26   %e = ashr i64 %E, -1
27 ; CHECK: -->  %e
29   %f = lshr i64 %x, -1
30 ; CHECK: -->  %f
32   %g = shl i64 %x, -1
33 ; CHECK: -->  %g
35   %h = bitcast i64 undef to i64
36 ; CHECK: -->  undef
38   ret void