11
11
; Function Attrs: nounwind ssp uwtable
12
12
define i32 @main () {
13
13
; CHECK-LABEL: @main(
14
- ; CHECK-NEXT: store i32 6, i32* @e, align 4
14
+ ; CHECK-NEXT: store i32 6, ptr @e, align 4
15
15
; CHECK-NEXT: br label [[TMP1:%.*]]
16
- ; CHECK: [[TMP2:%.*]] = load i32, i32* @d, align 4
16
+ ; CHECK: [[TMP2:%.*]] = load i32, ptr @d, align 4
17
17
; CHECK-NEXT: [[TMP3:%.*]] = sext i32 [[TMP2]] to i64
18
- ; CHECK-NEXT: [[TMP4:%.*]] = getelementptr inbounds [6 x i32], [6 x i32]* @b, i64 0, i64 [[TMP3]]
19
- ; CHECK-NEXT: [[TMP5:%.*]] = load i32, i32* [[TMP4]], align 4
20
- ; CHECK-NEXT: [[TMP6:%.*]] = call i32 (i8* , ...) @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i64 0, i64 0) , i32 [[TMP5]])
21
- ; CHECK-NEXT: [[TMP7:%.*]] = load i32, i32* @a, align 4
18
+ ; CHECK-NEXT: [[TMP4:%.*]] = getelementptr inbounds [6 x i32], ptr @b, i64 0, i64 [[TMP3]]
19
+ ; CHECK-NEXT: [[TMP5:%.*]] = load i32, ptr [[TMP4]], align 4
20
+ ; CHECK-NEXT: [[TMP6:%.*]] = call i32 (ptr , ...) @printf(ptr @.str, i32 [[TMP5]])
21
+ ; CHECK-NEXT: [[TMP7:%.*]] = load i32, ptr @a, align 4
22
22
; CHECK-NEXT: [[TMP8:%.*]] = icmp eq i32 [[TMP7]], 0
23
23
; CHECK-NEXT: br i1 [[TMP8]], label %thread-pre-split, label [[TMP9:%.*]]
24
- ; CHECK: [[TMP10:%.*]] = load i32, i32* @e, align 4
24
+ ; CHECK: [[TMP10:%.*]] = load i32, ptr @e, align 4
25
25
; CHECK-NEXT: [[TMP11:%.*]] = icmp eq i32 [[TMP10]], 0
26
26
; CHECK-NEXT: br i1 [[TMP11]], label [[TMP12:%.*]], label [[TMP12]]
27
27
; CHECK: thread-pre-split:
28
- ; CHECK-NEXT: [[DOTPR:%.*]] = load i32, i32* @e, align 4
28
+ ; CHECK-NEXT: [[DOTPR:%.*]] = load i32, ptr @e, align 4
29
29
; CHECK-NEXT: br label [[TMP12]]
30
30
; CHECK: [[TMP13:%.*]] = phi i32 [ [[DOTPR]], %thread-pre-split ], [ [[TMP10]], [[TMP9]] ], [ [[TMP10]], [[TMP9]] ]
31
31
; CHECK-NEXT: [[TMP14:%.*]] = icmp ne i32 [[TMP13]], 0
@@ -34,34 +34,34 @@ define i32 @main() {
34
34
; CHECK: br label [[TMP17]]
35
35
; CHECK: [[DOT0:%.*]] = phi i32 [ 1, [[TMP16]] ], [ -1, [[TMP15]] ]
36
36
; CHECK-NEXT: [[TMP18:%.*]] = and i32 [[DOT0]], 8693
37
- ; CHECK-NEXT: [[TMP19:%.*]] = load i32, i32* @c, align 4
37
+ ; CHECK-NEXT: [[TMP19:%.*]] = load i32, ptr @c, align 4
38
38
; CHECK-NEXT: [[TMP20:%.*]] = xor i32 [[TMP18]], [[TMP19]]
39
39
; CHECK-NEXT: [[TMP21:%.*]] = xor i32 [[TMP20]], -1
40
- ; CHECK-NEXT: store i32 [[TMP21]], i32* @d, align 4
40
+ ; CHECK-NEXT: store i32 [[TMP21]], ptr @d, align 4
41
41
; CHECK-NEXT: [[TMP22:%.*]] = icmp slt i32 [[TMP20]], -2
42
42
; CHECK-NEXT: br i1 [[TMP22]], label [[TMP1]], label [[TMP23:%.*]]
43
43
; CHECK: ret i32 0
44
44
;
45
- store i32 6 , i32* @e , align 4
45
+ store i32 6 , ptr @e , align 4
46
46
br label %1
47
47
48
48
; <label>:1: ; preds = %17, %0
49
- %2 = load i32 , i32* @d , align 4
49
+ %2 = load i32 , ptr @d , align 4
50
50
%3 = sext i32 %2 to i64
51
- %4 = getelementptr inbounds [6 x i32 ], [ 6 x i32 ]* @b , i64 0 , i64 %3
52
- %5 = load i32 , i32* %4 , align 4
53
- %6 = call i32 (i8* , ...) @printf (i8* getelementptr inbounds ([ 4 x i8 ], [ 4 x i8 ]* @.str , i64 0 , i64 0 ) , i32 %5 ) #2
54
- %7 = load i32 , i32* @a , align 4
51
+ %4 = getelementptr inbounds [6 x i32 ], ptr @b , i64 0 , i64 %3
52
+ %5 = load i32 , ptr %4 , align 4
53
+ %6 = call i32 (ptr , ...) @printf (ptr @.str , i32 %5 ) #2
54
+ %7 = load i32 , ptr @a , align 4
55
55
%8 = icmp eq i32 %7 , 0
56
56
br i1 %8 , label %thread-pre-split , label %9
57
57
58
58
; <label>:9: ; preds = %1
59
- %10 = load i32 , i32* @e , align 4
59
+ %10 = load i32 , ptr @e , align 4
60
60
%11 = icmp eq i32 %10 , 0
61
61
br i1 %11 , label %12 , label %12
62
62
63
63
thread-pre-split: ; preds = %1
64
- %.pr = load i32 , i32* @e , align 4
64
+ %.pr = load i32 , ptr @e , align 4
65
65
br label %12
66
66
67
67
; <label>:12: ; preds = %thread-pre-split, %9, %9
@@ -78,16 +78,16 @@ thread-pre-split: ; preds = %1
78
78
; <label>:17: ; preds = %16, %15
79
79
%.0 = phi i32 [ 1 , %16 ], [ -1 , %15 ]
80
80
%18 = and i32 %.0 , 8693
81
- %19 = load i32 , i32* @c , align 4
81
+ %19 = load i32 , ptr @c , align 4
82
82
%20 = xor i32 %18 , %19
83
83
%21 = xor i32 %20 , -1
84
- store i32 %21 , i32* @d , align 4
84
+ store i32 %21 , ptr @d , align 4
85
85
%22 = icmp slt i32 %20 , -2
86
86
br i1 %22 , label %1 , label %23
87
87
88
88
; <label>:23: ; preds = %17
89
89
ret i32 0
90
90
}
91
91
92
- declare i32 @printf (i8* , ...)
92
+ declare i32 @printf (ptr , ...)
93
93
0 commit comments