3
3
4
4
; Make sure this does not crash.
5
5
6
- define void @f_116_0 () alwaysinline {
6
+ define void @f_116_0 (ptr %p ) alwaysinline {
7
7
; CHECK-LABEL: define void @f_116_0(
8
- ; CHECK-SAME: ) #[[ATTR0:[0-9]+]] {
8
+ ; CHECK-SAME: ptr [[P:%.*]] ) #[[ATTR0:[0-9]+]] {
9
9
; CHECK-NEXT: [[ENTRY:.*:]]
10
- ; CHECK-NEXT: [[DOTPRE:%.*]] = load i16, ptr null , align 1
10
+ ; CHECK-NEXT: [[DOTPRE:%.*]] = load i16, ptr [[P]] , align 1
11
11
; CHECK-NEXT: br label %[[FOR_COND:.*]]
12
12
; CHECK: [[FOR_COND]]:
13
13
; CHECK-NEXT: [[CMP3:%.*]] = icmp ult i16 [[DOTPRE]], 1
@@ -18,7 +18,7 @@ define void @f_116_0() alwaysinline {
18
18
; CHECK-NEXT: br label %[[FOR_COND]]
19
19
;
20
20
entry:
21
- %.pre = load i16 , ptr null , align 1
21
+ %.pre = load i16 , ptr %p , align 1
22
22
br label %for.cond
23
23
24
24
for.cond: ; preds = %for.body, %entry
@@ -32,17 +32,17 @@ for.body: ; preds = %for.cond
32
32
br label %for.cond
33
33
}
34
34
35
- define void @f_321_0 () alwaysinline {
35
+ define void @f_321_0 (ptr %p ) alwaysinline {
36
36
; CHECK-LABEL: define void @f_321_0(
37
- ; CHECK-SAME: ) #[[ATTR0]] {
37
+ ; CHECK-SAME: ptr [[P:%.*]] ) #[[ATTR0]] {
38
38
; CHECK-NEXT: [[ENTRY:.*:]]
39
39
; CHECK-NEXT: br label %[[FOR_COND:.*]]
40
40
; CHECK: [[FOR_COND]]:
41
41
; CHECK-NEXT: br i1 false, label %[[CRIT_EDGE:.*]], label %[[FOR_COND_CLEANUP:.*]]
42
42
; CHECK: [[CRIT_EDGE]]:
43
43
; CHECK-NEXT: unreachable
44
44
; CHECK: [[FOR_COND_CLEANUP]]:
45
- ; CHECK-NEXT: [[DOTPRE_I:%.*]] = load i16, ptr null , align 1
45
+ ; CHECK-NEXT: [[DOTPRE_I:%.*]] = load i16, ptr [[P]] , align 1
46
46
; CHECK-NEXT: br label %[[FOR_COND_I:.*]]
47
47
; CHECK: [[FOR_COND_I]]:
48
48
; CHECK-NEXT: [[CMP3_I:%.*]] = icmp ult i16 [[DOTPRE_I]], 1
@@ -62,18 +62,19 @@ crit_edge: ; preds = %for.cond
62
62
br label %for.cond
63
63
64
64
for.cond.cleanup: ; preds = %for.cond
65
- call void @f_116_0 ()
65
+ call void @f_116_0 (ptr %p )
66
66
ret void
67
67
}
68
68
69
- define i16 @main () {
70
- ; CHECK-LABEL: define i16 @main() {
69
+ define i16 @main (ptr %p ) {
70
+ ; CHECK-LABEL: define i16 @main(
71
+ ; CHECK-SAME: ptr [[P:%.*]]) {
71
72
; CHECK-NEXT: [[ENTRY:.*:]]
72
73
; CHECK-NEXT: br label %[[FOR_COND:.*]]
73
74
; CHECK: [[FOR_COND]]:
74
75
; CHECK-NEXT: br label %[[FOR_COND]]
75
76
; CHECK: [[IF_ELSE:.*:]]
76
- ; CHECK-NEXT: [[DOTPRE_I_I:%.*]] = load i16, ptr null , align 1
77
+ ; CHECK-NEXT: [[DOTPRE_I_I:%.*]] = load i16, ptr [[P]] , align 1
77
78
; CHECK-NEXT: br label %[[FOR_COND_I_I:.*]]
78
79
; CHECK: [[FOR_COND_I_I]]:
79
80
; CHECK-NEXT: [[CMP3_I_I:%.*]] = icmp ult i16 [[DOTPRE_I_I]], 1
@@ -92,7 +93,7 @@ for.cond: ; preds = %for.cond, %entry
92
93
br label %for.cond
93
94
94
95
if.else: ; No predecessors!
95
- call void @f_321_0 ()
96
+ call void @f_321_0 (ptr %p )
96
97
br label %for.cond115
97
98
98
99
for.cond115: ; preds = %for.cond115, %if.else
0 commit comments