[PATCH] D107034: [CSPGO] Reserve IRPGO flag for CSPGO when running with mixed-LTO mode

Yolanda via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 3 20:02:58 PDT 2021


YolandaCY created this revision.
Herald added subscribers: ormris, wenlei, steven_wu, hiraditya, inglorion.
YolandaCY edited the summary of this revision.
YolandaCY updated this revision to Diff 363002.
YolandaCY added a comment.
YolandaCY updated this revision to Diff 363666.
YolandaCY retitled this revision from "[LTO] Enable ValueProfiling for Regular LTO in mixed LTO mode" to "[CSPGO] Reserve IRPGO flag for CSPGO when running with mixed-LTO mode".
YolandaCY edited the summary of this revision.
YolandaCY updated this revision to Diff 363671.
YolandaCY updated this revision to Diff 363777.
YolandaCY updated this revision to Diff 363937.
YolandaCY published this revision for review.
YolandaCY added reviewers: xur, rnk.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

Use a new flag to avoid test failures


YolandaCY added a comment.

Fix for CSPGO only


YolandaCY added a comment.

cleanup


YolandaCY added a comment.

lint fix


YolandaCY added a comment.

rebase


YolandaCY added a comment.

Could you help take a look? This is trying to address a linker error for CSPGO with ThinLTO on Windows after a recent CL to keep __profd_ variable private.


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.
Try create the symbol as private for opt only during cspgo instrumentation phase.

A minor fix on /lldsavetemps for COFF when cache is enabled.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D107034

Files:
  lld/COFF/LTO.cpp
  llvm/include/llvm/ProfileData/InstrProf.h
  llvm/lib/ProfileData/InstrProf.cpp
  llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
  llvm/test/Transforms/PGOProfile/Inputs/hybrid_thinlto_cspgo_gen.ll
  llvm/test/Transforms/PGOProfile/hybrid_lto_cspgo_gen.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D107034.363937.patch
Type: text/x-patch
Size: 10196 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210804/1405dc0a/attachment.bin>


More information about the llvm-commits mailing list