[llvm-branch-commits] [lld] ELF: Only rewrite non-preemptible IFUNCs to IPLT functions if a non-IRELATIVE relocation is needed. (PR #133531)

Peter Collingbourne via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Fri May 2 17:31:59 PDT 2025


pcc wrote:

The performance impact of this change on firefox-x64 on an M2 Ultra was
```
    N           Min           Max        Median           Avg        Stddev
x 2801     1.2972602     1.4316316     1.3621663     1.3620049   0.019557658
+ 2801     1.2877738     1.4305345     1.3634474     1.3630622   0.019953389
Difference at 95.0% confidence
	0.00105723 +/- 0.00103472
	0.077623% +/- 0.0759707%
	(Student's t, pooled s = 0.0197565)
```
The delta is fairly small so I don't think that performance is a strong reason not to make this change. That being said, after having given this more thought I do feel that the compatibility reason given in https://github.com/llvm/llvm-project/pull/133531#issuecomment-2795136942 has some merit so I intend to rework this with a new relocation type for directly producing IRELATIVE in the output.

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


More information about the llvm-branch-commits mailing list