@@ -30,10 +30,10 @@ void example(void) {
3030// Then, memcpy `l` to the temporary stack space.
3131// CHECK-O0-NEXT: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %[[byvaltemp]], ptr align 8 %[[l]], i64 64, i1 false)
3232// Finally, call using a pointer to the temporary stack space.
33- // CHECK-O0-NEXT: call void @pass_large(ptr noundef %[[byvaltemp]])
33+ // CHECK-O0-NEXT: call void @pass_large(ptr noalias noundef %[[byvaltemp]])
3434// Now, do the same for the second call, using the second temporary alloca.
3535// CHECK-O0-NEXT: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %[[byvaltemp1]], ptr align 8 %[[l]], i64 64, i1 false)
36- // CHECK-O0-NEXT: call void @pass_large(ptr noundef %[[byvaltemp1]])
36+ // CHECK-O0-NEXT: call void @pass_large(ptr noalias noundef %[[byvaltemp1]])
3737// CHECK-O0-NEXT: ret void
3838//
3939// At O3, we should have lifetime markers to help the optimizer re-use the temporary allocas.
@@ -58,15 +58,15 @@ void example(void) {
5858// Then, memcpy `l` to the temporary stack space.
5959// CHECK-O3-NEXT: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %[[byvaltemp]], ptr align 8 %[[l]], i64 64, i1 false)
6060// Finally, call using a pointer to the temporary stack space.
61- // CHECK-O3-NEXT: call void @pass_large(ptr noundef %[[byvaltemp]])
61+ // CHECK-O3-NEXT: call void @pass_large(ptr noalias noundef %[[byvaltemp]])
6262//
6363// The lifetime of the temporary used to pass a pointer to the struct ends here.
6464// CHECK-O3-NEXT: call void @llvm.lifetime.end.p0(i64 64, ptr %[[byvaltemp]])
6565//
6666// Now, do the same for the second call, using the second temporary alloca.
6767// CHECK-O3-NEXT: call void @llvm.lifetime.start.p0(i64 64, ptr %[[byvaltemp1]])
6868// CHECK-O3-NEXT: call void @llvm.memcpy.p0.p0.i64(ptr align 8 %[[byvaltemp1]], ptr align 8 %[[l]], i64 64, i1 false)
69- // CHECK-O3-NEXT: call void @pass_large(ptr noundef %[[byvaltemp1]])
69+ // CHECK-O3-NEXT: call void @pass_large(ptr noalias noundef %[[byvaltemp1]])
7070// CHECK-O3-NEXT: call void @llvm.lifetime.end.p0(i64 64, ptr %[[byvaltemp1]])
7171//
7272// Mark the end of the lifetime of `l`.
0 commit comments