[PATCH] D134600: [RISCV][LLD] Add RISCV zcmt optimise in linker relaxation

Xinlong Wu via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 3 19:59:04 PDT 2023


VincentWu updated this revision to Diff 510671.
VincentWu added a comment.
Herald added subscribers: jobnoorman, luke.

Reduce the time complexity of the algorithm by storing symbol pointers instead of symbol names

Try to compile *Vim* with `zcmt` opt, the code size of result is about 2.5M. get 0.1M (3.8%) code size decrease when it compare to the code size of *Vim* without `zcmt` (2.6M).

F27002966: image.png <https://reviews.llvm.org/F27002966>


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D134600

Files:
  lld/ELF/Arch/RISCV.cpp
  lld/ELF/Config.h
  lld/ELF/Driver.cpp
  lld/ELF/Options.td
  lld/ELF/SyntheticSections.cpp
  lld/ELF/SyntheticSections.h
  lld/ELF/Target.h
  lld/ELF/Writer.cpp
  lld/test/ELF/riscv-tbljal-call.s
  lld/test/ELF/riscv-tbljal-syms.s

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D134600.510671.patch
Type: text/x-patch
Size: 21089 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230404/e8039e6c/attachment-0001.bin>


More information about the llvm-commits mailing list