From 97e7635a827c49907799a87cefd96bc9979f4237 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Mon, 21 Apr 2025 16:39:01 +0300 Subject: [PATCH 1/2] [compiler-rt] [test] Adjust profile tests to allow arm_aapcs_vfpcc This fixes these tests for Windows on armv7. --- compiler-rt/test/profile/instrprof-api.c | 14 +++++++------- .../test/profile/instrprof-reset-counters.c | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/compiler-rt/test/profile/instrprof-api.c b/compiler-rt/test/profile/instrprof-api.c index 07c5b2f453907..b8063ffa94937 100644 --- a/compiler-rt/test/profile/instrprof-api.c +++ b/compiler-rt/test/profile/instrprof-api.c @@ -19,22 +19,22 @@ __attribute__((noinline)) int bar() { return 4; } int foo() { __llvm_profile_reset_counters(); - // PROFGEN: call void @__llvm_profile_reset_counters() - // PROFUSE-NOT: call void @__llvm_profile_reset_counters() + // PROFGEN: call {{(arm_aapcs_vfpcc )*}}void @__llvm_profile_reset_counters() + // PROFUSE-NOT: call {{(arm_aapcs_vfpcc )*}}void @__llvm_profile_reset_counters() return bar(); } -// PROFUSE-NOT: declare void @__llvm_profile_reset_counters() +// PROFUSE-NOT: declare {{(arm_aapcs_vfpcc )*}}void @__llvm_profile_reset_counters() int main() { int z = foo() + 3; __llvm_profile_set_filename("rawprof.profraw"); - // PROFGEN: call void @__llvm_profile_set_filename(ptr noundef @{{.*}}) - // PROFUSE-NOT: call void @__llvm_profile_set_filename(ptr noundef @{{.*}}) + // PROFGEN: call {{(arm_aapcs_vfpcc )*}}void @__llvm_profile_set_filename(ptr noundef @{{.*}}) + // PROFUSE-NOT: call {{(arm_aapcs_vfpcc )*}}void @__llvm_profile_set_filename(ptr noundef @{{.*}}) if (__llvm_profile_dump()) return 2; - // PROFGEN: %{{.*}} = call {{(signext )*}}i32 @__llvm_profile_dump() - // PROFUSE-NOT: %{{.*}} = call {{(signext )*}}i32 @__llvm_profile_dump() + // PROFGEN: %{{.*}} = call {{(arm_aapcs_vfpcc )*}}{{(signext )*}}i32 @__llvm_profile_dump() + // PROFUSE-NOT: %{{.*}} = call {{(arm_aapcs_vfpcc )*}}{{(signext )*}}i32 @__llvm_profile_dump() return z + bar() - 11; } diff --git a/compiler-rt/test/profile/instrprof-reset-counters.c b/compiler-rt/test/profile/instrprof-reset-counters.c index f15bc0d8e3a1a..93dfb0edfff9f 100644 --- a/compiler-rt/test/profile/instrprof-reset-counters.c +++ b/compiler-rt/test/profile/instrprof-reset-counters.c @@ -12,7 +12,7 @@ int main(void) { return 0; } void foo(int N) { - // CHECK-LABEL: define{{( dso_local)?}} void @foo( + // CHECK-LABEL: define{{( dso_local)?}}{{( arm_aapcs_vfpcc)?}} void @foo( // CHECK: br i1 %{{.*}}, label %{{.*}}, label %{{.*}}, !prof ![[FOO:[0-9]+]] if (N) {} } From 1aff1280ada1fb1f82896f3ff58b64d93303e64b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Thu, 24 Apr 2025 17:27:50 +0300 Subject: [PATCH 2/2] Consistently use ? instead of * for the calling convention attributes --- compiler-rt/test/profile/instrprof-api.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/compiler-rt/test/profile/instrprof-api.c b/compiler-rt/test/profile/instrprof-api.c index b8063ffa94937..a07b47e9cf9bc 100644 --- a/compiler-rt/test/profile/instrprof-api.c +++ b/compiler-rt/test/profile/instrprof-api.c @@ -19,22 +19,22 @@ __attribute__((noinline)) int bar() { return 4; } int foo() { __llvm_profile_reset_counters(); - // PROFGEN: call {{(arm_aapcs_vfpcc )*}}void @__llvm_profile_reset_counters() - // PROFUSE-NOT: call {{(arm_aapcs_vfpcc )*}}void @__llvm_profile_reset_counters() + // PROFGEN: call {{(arm_aapcs_vfpcc )?}}void @__llvm_profile_reset_counters() + // PROFUSE-NOT: call {{(arm_aapcs_vfpcc )?}}void @__llvm_profile_reset_counters() return bar(); } -// PROFUSE-NOT: declare {{(arm_aapcs_vfpcc )*}}void @__llvm_profile_reset_counters() +// PROFUSE-NOT: declare {{(arm_aapcs_vfpcc )?}}void @__llvm_profile_reset_counters() int main() { int z = foo() + 3; __llvm_profile_set_filename("rawprof.profraw"); - // PROFGEN: call {{(arm_aapcs_vfpcc )*}}void @__llvm_profile_set_filename(ptr noundef @{{.*}}) - // PROFUSE-NOT: call {{(arm_aapcs_vfpcc )*}}void @__llvm_profile_set_filename(ptr noundef @{{.*}}) + // PROFGEN: call {{(arm_aapcs_vfpcc )?}}void @__llvm_profile_set_filename(ptr noundef @{{.*}}) + // PROFUSE-NOT: call {{(arm_aapcs_vfpcc )?}}void @__llvm_profile_set_filename(ptr noundef @{{.*}}) if (__llvm_profile_dump()) return 2; - // PROFGEN: %{{.*}} = call {{(arm_aapcs_vfpcc )*}}{{(signext )*}}i32 @__llvm_profile_dump() - // PROFUSE-NOT: %{{.*}} = call {{(arm_aapcs_vfpcc )*}}{{(signext )*}}i32 @__llvm_profile_dump() + // PROFGEN: %{{.*}} = call {{(arm_aapcs_vfpcc )?}}{{(signext )*}}i32 @__llvm_profile_dump() + // PROFUSE-NOT: %{{.*}} = call {{(arm_aapcs_vfpcc )?}}{{(signext )*}}i32 @__llvm_profile_dump() return z + bar() - 11; }