Open YuanSha0 opened 1 month ago
I traced this function using GDB and found that the BR instruction is actually a tail call, but the result of BC.MIB->isTailCall() is false.
AArch64 currently has weak support of indirect branch analyzation. I suspect that most of the time we can't really say if it is a tail call or not.
I also noticed limited support for stack and frame analysis, so to achieve my optimization, I've added significant support for aarch64. Thanks!
@yota9 I noticed that many sources mention that BOLT supports static linking files, but I encountered errors while using it. Could it be due to aarch64? Not only does it not support indirect jumps, but its output also mentions that it cannot correctly recognize relocation entries.
The compilation options for this executable file are: clang -o susan susan.c -Wl,-q -std=c89 -lm -Os -static