This particular algorithm tries to get rid of some the problems of the relatively simple PGO-like approach.
Btw, authors report strikingly good results.
For languages more directly supported by llvm/gcc, they already do various kinds of function versioning and specialization.
You would be highly unlikely to get 10% there from a magic bullet like this - in the end, there are no magic bullets. Just lots of hard work.
This particular algorithm tries to get rid of some the problems of the relatively simple PGO-like approach.
Btw, authors report strikingly good results.