[llvm] [LLVMABI] Implement the ABI Typesystem (PR #158329)
Nikita Popov via llvm-commits
llvm-commits at lists.llvm.org
Tue Sep 16 11:39:39 PDT 2025
nikic wrote:
> > > I appreciate the elegance of having a type system that eliminates differences that don't really matter at the ABI level, but having to allocate a bunch of memory to translate types to a new representation that's used for a few cycles while we call this portable library seems like a pretty high amount of overhead.
> >
> >
> > The prototype shows compile-time impact of [<0.1%](https://llvm-compile-time-tracker.com/compare.php?from=5886a276ed24c2cd936e602441365bb0bbe5ef40&to=a419e44cee5a9de7d3720133c3ad98b0174923e6&stat=instructions:u) at -O0, even without any performance optimization work. Isn't that pretty negligible in practice?
>
> Those measurements show a .6% compile time impact. Are you looking at the file sizes?
>
> Also, this change is not supposed to actually change the emitted instructions, so something's pretty clearly up there.
Ah, there is some confusion about the metric here. "instructions" here is referring to the number of instructions retired *during compilation*. This is a compile-time metric. I think the .6% you are referring to is the wall-time metric on the clang build, which is too noisy to resolve such small differences. (The instructions metric for the clang build is also dominated by new code being compiled, not by the compile-time impact of the change itself. The only relevant metrics here are the instruction counts for `stage[12]-O0-g`.)
https://github.com/llvm/llvm-project/pull/158329
More information about the llvm-commits
mailing list