[llvm-branch-commits] [llvm] [BOLT] Require CFG in BAT mode (PR #150488)
Amir Ayupov via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Fri Jul 25 04:38:32 PDT 2025
https://github.com/aaupov updated https://github.com/llvm/llvm-project/pull/150488
>From faf7d914093c87804e9dbca349b1a2bca0aefd18 Mon Sep 17 00:00:00 2001
From: Amir Ayupov <aaupov at fb.com>
Date: Thu, 24 Jul 2025 13:56:18 -0700
Subject: [PATCH 1/2] updated test
Created using spr 1.3.4
---
bolt/test/X86/unclaimed-jt-entries.s | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/bolt/test/X86/unclaimed-jt-entries.s b/bolt/test/X86/unclaimed-jt-entries.s
index 1102e4ae413e2..b5c5abfbedebc 100644
--- a/bolt/test/X86/unclaimed-jt-entries.s
+++ b/bolt/test/X86/unclaimed-jt-entries.s
@@ -18,6 +18,16 @@
# RUN: llvm-mc -filetype=obj -triple x86_64-unknown-unknown %s -o %t.o
# RUN: %clang %cflags -no-pie %t.o -o %t.exe -Wl,-q
+
+## Check that non-simple function profile is emitted in perf2bolt mode
+# RUN: link_fdata %s %t.exe %t.pa PREAGG
+# RUN: llvm-strip -N L5 -N L5_ret %t.exe
+# RUN: perf2bolt %t.exe -p %t.pa --pa -o %t.fdata -strict=0 -print-profile \
+# RUN: -print-only=main | FileCheck %s --check-prefix=CHECK-P2B
+# CHECK-P2B: PERF2BOLT: traces mismatching disassembled function contents: 0
+# CHECK-P2B: Binary Function "main"
+# CHECK-P2B: IsSimple : 0
+
# RUN: llvm-bolt %t.exe -v=1 -o %t.out 2>&1 | FileCheck %s
# CHECK: BOLT-WARNING: unclaimed data to code reference (possibly an unrecognized jump table entry) to .Ltmp[[#]] in main
@@ -33,8 +43,10 @@
.size main, .Lend-main
main:
jmp *L4-24(,%rdi,8)
-.L5:
+# PREAGG: T #main# #L5# #L5_ret# 1
+L5:
movl $4, %eax
+L5_ret:
ret
.L9:
movl $2, %eax
@@ -58,7 +70,7 @@ L4:
.quad .L3
.quad .L6
.quad .L3
- .quad .L5
+ .quad L5
.quad .L3
.quad .L3
.quad .L3
>From 488ec264371f527b01b3c4bdebee8e65168f2695 Mon Sep 17 00:00:00 2001
From: Amir Ayupov <aaupov at fb.com>
Date: Thu, 24 Jul 2025 13:57:48 -0700
Subject: [PATCH 2/2] updated test
Created using spr 1.3.4
---
bolt/test/X86/unclaimed-jt-entries.s | 2 ++
1 file changed, 2 insertions(+)
diff --git a/bolt/test/X86/unclaimed-jt-entries.s b/bolt/test/X86/unclaimed-jt-entries.s
index b5c5abfbedebc..31b72c47125ae 100644
--- a/bolt/test/X86/unclaimed-jt-entries.s
+++ b/bolt/test/X86/unclaimed-jt-entries.s
@@ -27,6 +27,8 @@
# CHECK-P2B: PERF2BOLT: traces mismatching disassembled function contents: 0
# CHECK-P2B: Binary Function "main"
# CHECK-P2B: IsSimple : 0
+# RUN: FileCheck %s --input-file %t.fdata --check-prefix=CHECK-FDATA
+# CHECK-FDATA: 1 main 0 1 main 7 0 1
# RUN: llvm-bolt %t.exe -v=1 -o %t.out 2>&1 | FileCheck %s
More information about the llvm-branch-commits
mailing list