33
44; Make sure this does not crash.
55
6- define void @f_116_0 () alwaysinline {
6+ define void @f_116_0 (ptr %p ) alwaysinline {
77; CHECK-LABEL: define void @f_116_0(
8- ; CHECK-SAME: ) #[[ATTR0:[0-9]+]] {
8+ ; CHECK-SAME: ptr [[P:%.*]] ) #[[ATTR0:[0-9]+]] {
99; CHECK-NEXT: [[ENTRY:.*:]]
10- ; CHECK-NEXT: [[DOTPRE:%.*]] = load i16, ptr null , align 1
10+ ; CHECK-NEXT: [[DOTPRE:%.*]] = load i16, ptr [[P]] , align 1
1111; CHECK-NEXT: br label %[[FOR_COND:.*]]
1212; CHECK: [[FOR_COND]]:
1313; CHECK-NEXT: [[CMP3:%.*]] = icmp ult i16 [[DOTPRE]], 1
@@ -18,7 +18,7 @@ define void @f_116_0() alwaysinline {
1818; CHECK-NEXT: br label %[[FOR_COND]]
1919;
2020entry:
21- %.pre = load i16 , ptr null , align 1
21+ %.pre = load i16 , ptr %p , align 1
2222 br label %for.cond
2323
2424for.cond: ; preds = %for.body, %entry
@@ -32,17 +32,17 @@ for.body: ; preds = %for.cond
3232 br label %for.cond
3333}
3434
35- define void @f_321_0 () alwaysinline {
35+ define void @f_321_0 (ptr %p ) alwaysinline {
3636; CHECK-LABEL: define void @f_321_0(
37- ; CHECK-SAME: ) #[[ATTR0]] {
37+ ; CHECK-SAME: ptr [[P:%.*]] ) #[[ATTR0]] {
3838; CHECK-NEXT: [[ENTRY:.*:]]
3939; CHECK-NEXT: br label %[[FOR_COND:.*]]
4040; CHECK: [[FOR_COND]]:
4141; CHECK-NEXT: br i1 false, label %[[CRIT_EDGE:.*]], label %[[FOR_COND_CLEANUP:.*]]
4242; CHECK: [[CRIT_EDGE]]:
4343; CHECK-NEXT: unreachable
4444; 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
4646; CHECK-NEXT: br label %[[FOR_COND_I:.*]]
4747; CHECK: [[FOR_COND_I]]:
4848; CHECK-NEXT: [[CMP3_I:%.*]] = icmp ult i16 [[DOTPRE_I]], 1
@@ -62,18 +62,19 @@ crit_edge: ; preds = %for.cond
6262 br label %for.cond
6363
6464for.cond.cleanup: ; preds = %for.cond
65- call void @f_116_0 ()
65+ call void @f_116_0 (ptr %p )
6666 ret void
6767}
6868
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:%.*]]) {
7172; CHECK-NEXT: [[ENTRY:.*:]]
7273; CHECK-NEXT: br label %[[FOR_COND:.*]]
7374; CHECK: [[FOR_COND]]:
7475; CHECK-NEXT: br label %[[FOR_COND]]
7576; 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
7778; CHECK-NEXT: br label %[[FOR_COND_I_I:.*]]
7879; CHECK: [[FOR_COND_I_I]]:
7980; CHECK-NEXT: [[CMP3_I_I:%.*]] = icmp ult i16 [[DOTPRE_I_I]], 1
@@ -92,7 +93,7 @@ for.cond: ; preds = %for.cond, %entry
9293 br label %for.cond
9394
9495if.else: ; No predecessors!
95- call void @f_321_0 ()
96+ call void @f_321_0 (ptr %p )
9697 br label %for.cond115
9798
9899for.cond115: ; preds = %for.cond115, %if.else
0 commit comments