[PATCH] D157657: [RISCV] Support R_RISCV_SET_ULEB128/R_RISCV_SUB_ULEB128 for .uleb128 directives

Nikita Popov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Nov 18 03:17:18 PST 2023


nikic added a comment.

It looks like this change has substantially increased the memory usage of `ReleaseLTO-g` builds on X86. Here are the max-rss stats for the linking step (data extracted from here <https://llvm-compile-time-tracker.com/compare.php?from=e17efa60b197c07ea21c2cba44670acf0dd75e60&to=1df5ea29b43690b6622db2cad7b745607ca4de6a&stat=max-rss&details=on>):

  kc.link 	232MiB 	238MiB (+2.58%)
  sqlite3.link 	212MiB 	221MiB (+3.98%)
  consumer-typeset.link 	158MiB 	161MiB (+1.99%)
  bullet.link 	199MiB 	202MiB (+1.62%)
  tramp3d-v4.link 	683MiB 	713MiB (+4.41%)
  clamscan.link 	231MiB 	238MiB (+2.97%)
  lencod.link 	274MiB 	281MiB (+2.75%)
  7zip-benchmark.link 	457MiB 	473MiB (+3.60%)

So this increases memory usage by about 2-5% for builds using optimization and debug info.

Can something be done about this? It seems pretty bad that a RISCV specific change pessimizes other targets to this degree.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D157657



More information about the llvm-commits mailing list