Fixed a bug that BranchProbability is not defined in BlockFrequency.cpp. NFC.
[oota-llvm.git] / test / Analysis / ScalarEvolution / undefined.ll
1 ; RUN: opt -analyze -scalar-evolution < %s | FileCheck %s
2
3 ; ScalarEvolution shouldn't attempt to interpret expressions which have
4 ; undefined results.
5
6 define void @foo(i64 %x) {
7
8   %a = udiv i64 %x, 0
9 ; CHECK: -->  (%x /u 0)
10
11   %B = shl i64 %x, 64
12 ; CHECK: -->  %B
13
14   %b = ashr i64 %B, 64
15 ; CHECK: -->  %b
16
17   %c = lshr i64 %x, 64
18 ; CHECK: -->  %c
19
20   %d = shl i64 %x, 64
21 ; CHECK: -->  %d
22
23   %E = shl i64 %x, -1
24 ; CHECK: -->  %E
25
26   %e = ashr i64 %E, -1
27 ; CHECK: -->  %e
28
29   %f = lshr i64 %x, -1
30 ; CHECK: -->  %f
31
32   %g = shl i64 %x, -1
33 ; CHECK: -->  %g
34
35   %h = bitcast i64 undef to i64
36 ; CHECK: -->  undef
37
38   ret void
39 }