[llvm] [BOLT][AArch64] Extend test coverage for TailDuplication in AArch64 (PR #191453)

Asher Dobrescu via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 13 09:01:31 PDT 2026


================
@@ -0,0 +1,37 @@
+# REQUIRES: system-linux
+
+# RUN: llvm-mc -filetype=obj -triple aarch64-unknown-unknown %s -o %t.o
+# RUN: link_fdata %s %t.o %t.fdata
+# RUN: %clang %cflags --target=aarch64-unknown-linux %t.o -o %t.exe -Wl,-q
+# RUN: llvm-bolt %t.exe --data %t.fdata --reorder-blocks=none \
+# RUN:    --print-finalized --tail-duplication=moderate \
+# RUN:    --tail-duplication-minimum-offset=1 -o %t.out | FileCheck %s
+# RUN: llvm-bolt %t.exe --data %t.fdata --reorder-blocks=none \
+# RUN:    --print-finalized --tail-duplication=aggressive \
+# RUN:    --tail-duplication-minimum-offset=1 -o %t.out \
+# RUN:    | FileCheck %s --check-prefix=CHECK-NOLOOP
+
+# FDATA: 1 main 4 1 main #.BB2# 0 10
+# CHECK: BOLT-INFO: tail duplication modified 1 ({{.*}}%) functions; duplicated 1 blocks (4 bytes) responsible for {{.*}} dynamic executions ({{.*}}% of all block executions)
+# CHECK: BB Layout   : .LBB00, .Ltail-dup0, .Ltmp0, .Ltmp1
+
+## Check that the predecessor of Ltail-dup0 is .LBB00, not itself.
----------------
Asher8118 wrote:

nit: I see you corrected this from `successor` to `predecessor` in this test, which makes sense. I think it'd be good to add it to the X86 test as well

https://github.com/llvm/llvm-project/pull/191453


More information about the llvm-commits mailing list