[ThinLTO] For SamplePGO, need to handle ICP targets consistently in thin link
ClosedPublic

Authored by tejohnson on Tue, Sep 12, 6:20 PM.

Details

Summary

SamplePGO indirect call profiles record the target as the original GUID
for statics. The importer had special handling to map to the normal GUID
in that case. The dead global analysis needs the same treatment or
inconsistencies arise, resulting in linker unsats due to some dead
symbols being exported and kept, leaving in references to other dead
symbols that are removed.

This can happen when a SamplePGO profile collected by one binary is used
for a different binary, so the indirect call profiles may not accurately
reflect live targets.

Diff Detail

Repository
rL LLVM
tejohnson created this revision.Tue, Sep 12, 6:20 PM
danielcdh accepted this revision.Tue, Sep 12, 11:56 PM

Thanks for fixing this!

This revision is now accepted and ready to land.Tue, Sep 12, 11:56 PM
This revision was automatically updated to reflect the committed changes.