[PATCH] D130554: [AArch64][GlobalISel] Add heuristics for localizing G_CONSTANT.

Amara Emerson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 26 01:34:09 PDT 2022


aemerson created this revision.
aemerson added reviewers: paquette, jroelofs.
aemerson added a project: LLVM.
Herald added subscribers: hiraditya, kristof.beyls, rovka.
Herald added a project: All.
aemerson requested review of this revision.

This adds similar heuristics to G_GLOBAL_VALUE, querying the cost of
materializing a specific constant in code size. Doing so prevents us from
sinking constants which require multiple instructions to generate into
use blocks.

Code size savings on CTMark -Os:

  Program                                       size.__text
                                                before         after           diff
  ClamAV/clamscan                               381940.00      382052.00       0.0%
  lencod/lencod                                 428408.00      428428.00       0.0%
  SPASS/SPASS                                   411868.00      411876.00       0.0%
  kimwitu++/kc                                  449944.00      449944.00       0.0%
  Bullet/bullet                                 463588.00      463556.00      -0.0%
  sqlite3/sqlite3                               284696.00      284668.00      -0.0%
  consumer-typeset/consumer-typeset             414492.00      414424.00      -0.0%
  7zip/7zip-benchmark                           595244.00      594972.00      -0.0%
  mafft/pairlocalalign                          247512.00      247368.00      -0.1%
  tramp3d-v4/tramp3d-v4                         372884.00      372044.00      -0.2%
  Geomean difference                               -0.0%


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D130554

Files:
  llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
  llvm/test/CodeGen/AArch64/GlobalISel/localizer-arm64-tti.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D130554.447618.patch
Type: text/x-patch
Size: 5232 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220726/a32f5567/attachment.bin>


More information about the llvm-commits mailing list