[PATCH] D120104: [AArch64] Enable fuse-literals feature by default

Alexander Shaposhnikov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 21 01:43:52 PST 2022


alexander-shaposhnikov added a comment.

@dmgreen - many thanks for looking at this, 
I wanted to start this discussion and any feedback / suggestions will be greatly appreciated.  Regarding mov+movk and movk+movk  pairs - if I'm not mistaken GCC "fuses" them by default (https://github.com/gcc-mirror/gcc/blob/master/gcc/config/aarch64/aarch64-fusion-pairs.def), but to limit the scope of the change I'm open to splitting this feature and starting with one pair (e.g. ADRP+ADD) (another important example is ADRP + LDR, but it's not handled by this diff anyway). What do you think ?



================
Comment at: llvm/test/CodeGen/AArch64/arm64_32.ll:1
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --force-update
 ; RUN: llc -mtriple=arm64_32-apple-ios7.0 %s -filetype=obj -o - -disable-post-ra -frame-pointer=non-leaf | \
----------------
dmgreen wrote:
> This is making a lot of unrelated test changes in this and other files. It's best not to do that in a single review, but it looks like in this case the check lines have been carefully constructed, with comments, and a lot of that has been lost by just running the update scripts. It doesn't look like much should change in the file.
the types of emitted LOHs depend on the order of instructions, perhaps, for this case it'd be better not to change this test at all (disable fusion).



Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D120104/new/

https://reviews.llvm.org/D120104



More information about the llvm-commits mailing list