README.md
1# pgo_tools
2
3This directory contains scripts used to generate and vet PGO profiles for LLVM.
4
5If you're a Mage who wants to generate a new PGO profile for the llvm-next
6release, `./generate_llvm_next_pgo.py` is what you should run **outside of a
7chroot**. It will create a new chroot, and generate a profile that's
8backwards-compatible with our bootstrap chroot toolchains. This script takes a
9few dozen minutes, and prints an "upload PGO profile" command at the end.
10
11If you're a user who wants to generate a bespoke PGO profile for LLVM,
12`./generate_pgo_profile.py` is what you want. Run it **inside of a chroot**, and
13it will generate a profile for you with a pretty comprehensive, predefined
14workload (building absl's tests for arm32, arm64, and a few x86_64 configs).
15
16If you want to compare the rough performance of PGO profiles,
17`./benchmark_pgo_profiles.py` may be useful.
18