Porting improvements from llvm-bolt to LLVM

Hello.

I think you heard about Facebook's llvm-bolt binary optimizer (GitHub - facebookincubator/BOLT: Binary Optimization and Layout Tool - A linux command-line utility used for optimizing performance of binaries Accelerate large-scale applications with BOLT - Engineering at Meta).

This utility is based on LLVM. And I think it's possible to integrate some features from BOLT to llvm upstream. Probably PGO implementation can get some improvements, but I am not LLVM-developer, so I am not sure.

What do you think about the idea? Is it possible? Or bolt features are useless for LLVM?

Best regards

Alexander Zaitsev