Open Bug 1509314 Opened 7 years ago Updated 5 months ago

Investigate using LLVM propeller to improve code layout for improved cache locality and branch prediction

Categories

(Firefox Build System :: Toolchains, enhancement, P3)

enhancement

Tracking

(Not tracked)

People

(Reporter: mayankleoboy1, Unassigned)

References

Details

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:65.0) Gecko/20100101 Firefox/65.0 Steps to reproduce: Investigate if its feasible to use BOLT optimizer from facebook incubator https://github.com/facebookincubator/BOLT This found mention in https://docs.google.com/presentation/d/1vJrsJ7fRSi6uidJWVSI2bg8aR19gXeshLgD0tcXfMqg/edit#slide=id.g46ee6ad94d_5_35
Summary: Investigate using BOLT optimizer from facebook → Investigate using BOLT optimizer from facebook to improve code layout for improved cache locality and branch prediction
Severity: normal → enhancement
Priority: -- → P3

I'm not particularly convinced it's worth investigating for Firefox, for 2 reasons:

  • it's not cross-platform (it's pretty much Linux only)
  • even if we did use it, it wouldn't be used in downstream Linux distributions.

OTOH, AIUI, people in the LLVM community have shown interest in integrating something similar to BOLT in LLVM, which makes sense: there's nothing in BOLT that couldn't be done with PGO+LTO.

Summary: Investigate using BOLT optimizer from facebook to improve code layout for improved cache locality and branch prediction → Investigate using LLVM propeller to improve code layout for improved cache locality and branch prediction

AIUI, Propeller is still Linux-only due to the reliance on perf data.

FWIW, Facebook's BOLT is merged in LLVM

Blocks: 1792706
Severity: normal → S3
No longer blocks: 1792706
See Also: → 1789087

Looks like AutoFDO and propeller are merged into the kernel now : https://www.phoronix.com/news/AutoFDO-Propeller-Linux-6.13

You need to log in before you can comment on or make changes to this bug.