[llvm] RFC: Argpromotion of externally visible functions (PR #87731)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Sun Apr 14 17:51:53 PDT 2024


nikic wrote:

Some compile-time numbers:

LLVM (https://llvm-compile-time-tracker.com/compare.php?from=e8a3b72272e3e67e94ee9d7144d3c8292c49e868&to=02c0e91ec9d1c941696e109783595e418637cd60&stat=instructions:u):
 * mafft with ThinLTO regresses by 20% (40% regression in linking).
 * size-text increases by 33% for mafft and by 20% for Bullet.
 * clang stage2 build with ThinLTO regresses by 1% overall. (size-text regression is 0.6%)
 * Performance of the stage2 clang seems to regress by 0.2% for optimized builds and improve by 0.7% for unoptimized builds (but this differs by project, there are some optimized builds that improve).

Rust (https://perf.rust-lang.org/compare.html?start=f13f37fd7bbbc34c663311739176fe114ef51085&end=35869f95c11535a8d460aca150998b00e428e3da):
 * Bootstrap regresses by 2.3%.
 * Various large crates regress by 1-5% in opt builds.
 * Some tiny crates improve by up to 7% in check builds.
 * Binary size changes in the -4% to 4% range.

The compile-time numbers look pretty bad to me, with large regressions in compile-time and text size in some cases.

https://github.com/llvm/llvm-project/pull/87731


More information about the llvm-commits mailing list