@@ -6,22 +6,22 @@ void opaque(byte* i);
66
77// CHECK-LABEL: define void @foo_array_foo()
88void foo_array_foo () {
9- // CHECK: alloca [400 x i8]
10- // CHECK: alloca [800 x i8]
9+ // CHECK: %arr = alloca [400 x i8]
10+ // CHECK: %arr1 = alloca [800 x i8]
1111 {
12- // CHECK: call void @llvm.lifetime.start.p0{{(i8)?}}(i64 immarg 400
12+ // CHECK: call void @llvm.lifetime.start.p0{{(i8)?}}({{.*}} %arr)
1313 byte [400 ] arr = void ;
1414 // CHECK: call void @opaque
1515 opaque(&arr[0 ]);
16- // CHECK: call void @llvm.lifetime.end.p0{{(i8)?}}(i64 immarg 400
16+ // CHECK: call void @llvm.lifetime.end.p0{{(i8)?}}({{.*}} %arr)
1717 }
1818
1919 {
20- // CHECK: call void @llvm.lifetime.start.p0{{(i8)?}}(i64 immarg 800
20+ // CHECK: call void @llvm.lifetime.start.p0{{(i8)?}}({{.*}} %arr1)
2121 byte [800 ] arr = void ;
2222 // CHECK: call void @opaque
2323 opaque(&arr[0 ]);
24- // CHECK: call void @llvm.lifetime.end.p0{{(i8)?}}(i64 immarg 800
24+ // CHECK: call void @llvm.lifetime.end.p0{{(i8)?}}({{.*}} %arr1)
2525 }
2626
2727 // CHECK-LABEL: ret void
@@ -34,16 +34,16 @@ void foo_forloop_foo() {
3434 // This call should appear before lifetime start of while-loop variable.
3535 opaque(&i);
3636 for (byte [13 ] d; d[0 ] < 2 ; d[0 ]++ ) {
37- // CHECK: call void @llvm.lifetime.start.p0{{(i8)?}}(i64 immarg 13
37+ // CHECK: call void @llvm.lifetime.start.p0{{(i8)?}}({{.*}} %d)
3838 // Lifetime should start before initializing the variable
3939 // CHECK: call void @llvm.memset.p0{{(i8)?}}.i{{.*}}13
40- // CHECK: call void @llvm.lifetime.start.p0{{(i8)?}}(i64 immarg 44
40+ // CHECK: call void @llvm.lifetime.start.p0{{(i8)?}}({{.*}} %arr)
4141 byte [44 ] arr = void ;
4242 // CHECK: call void @opaque
4343 opaque(&arr[0 ]);
44- // CHECK: call void @llvm.lifetime.end.p0{{(i8)?}}(i64 immarg 44
44+ // CHECK: call void @llvm.lifetime.end.p0{{(i8)?}}({{.*}} %arr)
4545 // CHECK: endfor:
46- // CHECK: call void @llvm.lifetime.end.p0{{(i8)?}}(i64 immarg 13
46+ // CHECK: call void @llvm.lifetime.end.p0{{(i8)?}}({{.*}} %d)
4747 }
4848
4949 // CHECK-LABEL: ret void
@@ -56,15 +56,15 @@ void foo_whileloop_foo() {
5656 // This call should appear before lifetime start of while-loop variable.
5757 opaque(&i);
5858 while (ulong d = 131 ) {
59- // CHECK: call void @llvm.lifetime.start.p0{{(i8)?}}(i64 immarg 8
59+ // CHECK: call void @llvm.lifetime.start.p0{{(i8)?}}({{.*}} %d)
6060 // Lifetime should start before initializing the variable
6161 // CHECK: store i64 131
62- // CHECK: call void @llvm.lifetime.start.p0{{(i8)?}}(i64 immarg 33
62+ // CHECK: call void @llvm.lifetime.start.p0{{(i8)?}}({{.*}} %arr)
6363 byte [33 ] arr = void ;
6464 // CHECK: call void @opaque
6565 opaque(&arr[0 ]);
66- // CHECK: call void @llvm.lifetime.end.p0{{(i8)?}}(i64 immarg 33
67- // CHECK: call void @llvm.lifetime.end.p0{{(i8)?}}(i64 immarg 8
66+ // CHECK: call void @llvm.lifetime.end.p0{{(i8)?}}({{.*}} %arr)
67+ // CHECK: call void @llvm.lifetime.end.p0{{(i8)?}}({{.*}} %d)
6868 }
6969
7070 // CHECK-LABEL: ret void
@@ -76,25 +76,25 @@ void foo_if_foo() {
7676 // CHECK: call void @opaque
7777 // This call should appear before lifetime start of if-statement condition variable.
7878 opaque(&i);
79- // CHECK: call void @llvm.lifetime.start.p0{{(i8)?}}(i64 immarg 8
79+ // CHECK: call void @llvm.lifetime.start.p0{{(i8)?}}({{.*}} %d)
8080 // Lifetime should start before initializing the variable
8181 // CHECK: store i64 565
8282 if (ulong d = 565 ) {
83- // CHECK: call void @llvm.lifetime.start.p0{{(i8)?}}(i64 immarg 72
83+ // CHECK: call void @llvm.lifetime.start.p0{{(i8)?}}({{.*}} %arr)
8484 byte [72 ] arr = void ;
8585 // CHECK: call void @opaque
8686 opaque(&arr[0 ]);
87- // CHECK: call void @llvm.lifetime.end.p0{{(i8)?}}(i64 immarg 72
87+ // CHECK: call void @llvm.lifetime.end.p0{{(i8)?}}({{.*}} %arr)
8888 } else {
8989 // d is out of scope here.
90- // CHECK: call void @llvm.lifetime.start.p0{{(i8)?}}(i64 immarg 51
90+ // CHECK: call void @llvm.lifetime.start.p0{{(i8)?}}({{.*}} %arr1)
9191 byte [51 ] arr = void ;
9292 // CHECK: call void @opaque
9393 opaque(&arr[0 ]);
94- // CHECK: call void @llvm.lifetime.end.p0{{(i8)?}}(i64 immarg 51
94+ // CHECK: call void @llvm.lifetime.end.p0{{(i8)?}}({{.*}} %arr1)
9595 }
9696 // CHECK: endif:
97- // CHECK: call void @llvm.lifetime.end.p0{{(i8)?}}(i64 immarg 8
97+ // CHECK: call void @llvm.lifetime.end.p0{{(i8)?}}({{.*}} %d)
9898
9999 // CHECK-LABEL: ret void
100100}
@@ -111,12 +111,12 @@ void opaque_S(S* i);
111111// CHECK-LABEL: define void @foo_struct_foo()
112112void foo_struct_foo () {
113113 {
114- // CHECK: call void @llvm.lifetime.start.p0{{(i8)?}}(i64 immarg 123
114+ // CHECK: call void @llvm.lifetime.start.p0{{(i8)?}}({{.*}} %s)
115115 S s;
116116 // CHECK: invoke void @opaque_S
117117 opaque_S(&s);
118118 }
119119
120- // CHECK: call void @llvm.lifetime.end.p0{{(i8)?}}(i64 immarg 123
120+ // CHECK: call void @llvm.lifetime.end.p0{{(i8)?}}({{.*}} %s)
121121 // CHECK-NEXT: ret void
122122}
0 commit comments