[compiler-rt] [compiler-rt] [test] Adjust profile tests to allow arm_aapcs_vfpcc (PR #137176)

Martin Storsjö via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 24 07:28:39 PDT 2025


https://github.com/mstorsjo updated https://github.com/llvm/llvm-project/pull/137176

>From 97e7635a827c49907799a87cefd96bc9979f4237 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Martin=20Storsj=C3=B6?= <martin at martin.st>
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?= <martin at martin.st>
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;
 }
 



More information about the llvm-commits mailing list