[PATCH] D107034: [CSPGO] Set EnableValueProfiling flag for CSPGO to avoid IRPGO value loss in LTO

Fangrui Song via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 13 13:46:30 PDT 2021


MaskRay added a comment.

> The IRPGOFlag symbol (__llvm_profile_raw_version) will be dropped when identified as non-prevailing for either regular or thin LTO during the mixed-LTO mode compilation. This caused an unresolved symbol linker error when enable CSPGO over ThinLTO after https://reviews.llvm.org/D103717.

I am concerned that `EnableValueProfiling` might not be added to the correct place. (Why specifically to CSPGO?) Can you give a concrete example for the mixed LTO scenario?



================
Comment at: llvm/test/Transforms/PGOProfile/lto_cspgo_gen.ll:12
+
+; VALUEPROFILE: {{.*}} !"EnableValueProfiling", i32 1}
+
----------------
This test is unclear why EnableValueProfiling is set for CSPGO.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D107034/new/

https://reviews.llvm.org/D107034



More information about the llvm-commits mailing list