[llvm] [BOLT] Enable hugify for AArch64 (PR #117158)
via llvm-commits
llvm-commits at lists.llvm.org
Tue Dec 24 03:20:28 PST 2024
================
@@ -0,0 +1,40 @@
+/* Checks that BOLT correctly processes a user-provided function list file,
+ * reorder functions according to this list, update hot_start and hot_end
+ * symbols and insert a function to perform hot text mapping during program
+ * startup.
+ */
+#include <stdio.h>
+
+int foo(int x) { return x + 1; }
+
+int fib(int x) {
+ if (x < 2)
+ return x;
+ return fib(x - 1) + fib(x - 2);
+}
+
+int bar(int x) { return x - 1; }
+
+int main(int argc, char **argv) {
+ printf("fib(%d) = %d\n", argc, fib(argc));
+ return 0;
+}
+
+/*
+REQUIRES: system-linux,bolt-runtime
+
+RUN: %clang %cflags -no-pie %s -o %t.exe -Wl,-q
+
+RUN: llvm-bolt %t.exe --relocs=1 --lite --reorder-functions=user \
+RUN: --hugify --function-order=%p/Inputs/user_func_order.txt -o %t
----------------
alekuz01 wrote:
I have looked at tests and added a few from x86. maybe.
In previous comment I mentioned that some tests could be clarified and extracted from x86 to be used as aarch64. Some tests could be just adopted with hugify option for smoke test purposes as well adding '--hugify' as an option.
Why do you think it was not purposed? Am I missing something?
I think as a smoke test when we hugify a program, check that it works, see some symbols present.
https://github.com/llvm/llvm-project/pull/117158
More information about the llvm-commits
mailing list