[llvm] [BOLT][NFC] Unify two symbol table iterations (PR #90724)

Amir Ayupov via llvm-commits llvm-commits at lists.llvm.org
Sat May 4 19:50:36 PDT 2024


aaupov wrote:

To isolate the effect of the change, I added `exit(0)` here just after the second loop: https://github.com/llvm/llvm-project/blob/ffc9a30938ae5c42c03f9c563db1465876b4def6/bolt/lib/Rewrite/RewriteInstance.cpp#L876-L880

For chromium 5735 with 1.2M symbols on Intel ADL i7-12700K the effect is the following (warmup=3, 10 runs):
before:
```
  Time (mean ± σ):     400.6 ms ±   1.0 ms    [User: 354.3 ms, System: 46.2 ms]
  Range (min … max):   398.8 ms … 402.3 ms    10 runs
```
after:
```
  Time (mean ± σ):     415.5 ms ±   0.7 ms    [User: 362.4 ms, System: 52.8 ms]
  Range (min … max):   414.7 ms … 416.6 ms    10 runs
```

So merging loops has an opposite effect to what I had hoped. Thanks for putting the effort nonetheless!

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


More information about the llvm-commits mailing list