@@ -47,7 +47,7 @@ void call3() {
4747
4848// CHECK-LABEL: define void {{.*}}call4{{.*}}(ptr
4949// CHECK: [[Tmp:%.*]] = alloca [2 x [2 x float]]
50- // CHECK: store ptr {{.*}}, ptr [[Tmp]], align 4
50+ // CHECK: call void @llvm.memcpy.p0.p0.i32( ptr align 4 [[Tmp]], ptr align 4 [[Arr]], i32 16, i1 false)
5151// CHECK: call void {{.*}}fn3{{.*}}(ptr noundef byval([2 x [2 x float]]) align 4 [[Tmp]])
5252
5353void call4 (float Arr[2 ][2 ]) {
@@ -66,12 +66,12 @@ void call4(float Arr[2][2]) {
6666// CHECK: [[Tmp1:%.*]] = alloca [2 x float]
6767// CHECK: [[Tmp2:%.*]] = alloca [4 x float]
6868// CHECK: [[Tmp3:%.*]] = alloca [3 x i32]
69- // CHECK: store ptr {{.*}}, ptr [[Tmp1]], align 4
70- // CHECK: call void @"??$template_fn@$$BY01M@@YAXY01M@Z" (ptr noundef byval([2 x float]) align 4 [[Tmp1]])
71- // CHECK: store ptr {{.*}}, ptr [[Tmp2]], align 4
72- // CHECK: call void @"??$template_fn@$$BY03M@@YAXY03M@Z" (ptr noundef byval([4 x float]) align 4 [[Tmp2]])
73- // CHECK: store ptr {{.*}}, ptr [[Tmp3]], align 4
74- // CHECK: call void @"??$template_fn@$$BY02H@@YAXY02H@Z" (ptr noundef byval([3 x i32]) align 4 [[Tmp3]])
69+ // CHECK: call void @llvm.memcpy.p0.p0.i32( ptr align 4 [[Tmp1]], ptr align 4 [[FA2]], i32 8, i1 false)
70+ // CHECK: call void @_Z11template_fnIA2_fEvT_ (ptr noundef byval([2 x float]) align 4 [[Tmp1]])
71+ // CHECK: call void @llvm.memcpy.p0.p0.i32( ptr align 4 [[Tmp2]], ptr align 4 [[FA4]], i32 16, i1 false)
72+ // CHECK: call void @_Z11template_fnIA4_fEvT_ (ptr noundef byval([4 x float]) align 4 [[Tmp2]])
73+ // CHECK: call void @llvm.memcpy.p0.p0.i32( ptr align 4 [[Tmp3]], ptr align 4 [[IA3]], i32 12, i1 false)
74+ // CHECK: call void @_Z11template_fnIA3_iEvT_ (ptr noundef byval([3 x i32]) align 4 [[Tmp3]])
7575
7676template<typename T>
7777void template_fn (T Val) {}
0 commit comments