InstrProf: Check pointer size in raw profile
[oota-llvm.git] / test / Transforms / GlobalOpt / twostore-gv-range.ll
1 ; RUN: opt < %s -S -globalopt | FileCheck %s
2 ;; check that global opt annotates loads from global variales that have
3 ;; constant values stored to them.
4
5 @G = internal global i32 5
6 @H = internal global i32 7
7 @I = internal global i32 17
8 @J = internal global i32 29
9 @K = internal global i32 31
10
11 define void @set() {
12   store i32 6, i32* @G
13   store i32 13, i32* @H
14   store i32 16, i32* @I
15   store i32 29, i32* @J
16   store i32 -37, i32* @K
17   ret void
18 }
19
20 define i32 @getG() {
21 ; CHECK: %t = load i32* @G, !range [[G:![0-9]+]]
22   %t = load i32* @G
23   ret i32 %t
24 }
25 define i32 @getH() {
26 ; CHECK: %t = load i32* @H, !range [[H:![0-9]+]]
27   %t = load i32* @H
28   ret i32 %t
29 }
30
31 define i32 @getI() {
32 ; CHECK: %t = load i32* @I, !range [[I:![0-9]+]]
33   %t = load i32* @I
34   ret i32 %t
35 }
36
37 define i32 @getJ() {
38 ; CHECK: ret i32 29
39   %t = load i32* @J
40   ret i32 %t
41 }
42
43 define i32 @getK() {
44 ; CHECK: %t = load i32* @K, !range [[K:![0-9]+]]
45   %t = load i32* @K
46   ret i32 %t
47 }
48
49 ; CHECK: [[G]] = metadata !{i32 5, i32 7}
50 ; CHECK: [[H]] = metadata !{i32 7, i32 8, i32 13, i32 14}
51 ; CHECK: [[I]] = metadata !{i32 16, i32 18}
52 ; CHECK: [[K]] = metadata !{i32 -37, i32 -36, i32 31, i32 32}