We are using clang based compiler for our android build system.
We plan to enable the PGO (profile guided optimization ) for some of our android modules
I would like to have some understanding on the way that the PGO profiles are being used by the clang compiler.
As I understand Profile guidance enables the compiler to make better optimization decisions by using knowledge about how the program actually runs.
With this profile information, the compiler can do a better job of inlining functions, ordering basic blocks, allocating registers, and so on.
So I would like to know if the clang based compiler in android will use these profiles for making better decisions on inlining or register allocations ?
But when I went through the clang documentation, right now the pgo profiles can be used for block reordering but could not find reference as to whether it helps the compiler
to take any other optimized decision .
Can you please help me to get this information if it’s something that clang has yet to support with regards to PGO generated profiles.