This is an archive of the discontinued LLVM Phabricator instance.

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

Authored by tejohnson on Sep 12 2017, 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.

Event Timeline

tejohnson created this revision.Sep 12 2017, 6:20 PM
danielcdh accepted this revision.Sep 12 2017, 11:56 PM

Thanks for fixing this!

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