This is an archive of the discontinued LLVM Phabricator instance.

[CSSPGO] Tweakes to lower pseudo probe runtime overhead
ClosedPublic

Authored by hoy on Sep 17 2021, 9:22 AM.

Details

Summary

A couple tweaks to

  1. allow more thinlto importing by excluding probe intrinsics from IR size in module summary
  1. Allow general default attributes (nofree nosync nounwind) for pseudo probe intrinsic. Without those attributes, pseudo probes will be basically treated as unknown calls which will in turn block their containing functions from annotated with those attributes.

Diff Detail

Event Timeline

hoy created this revision.Sep 17 2021, 9:22 AM
hoy requested review of this revision.Sep 17 2021, 9:22 AM
Herald added a project: Restricted Project. · View Herald TranscriptSep 17 2021, 9:22 AM
hoy edited the summary of this revision. (Show Details)Sep 17 2021, 9:23 AM
hoy added reviewers: wenlei, wlei, wmi.
wenlei accepted this revision.Sep 17 2021, 9:32 AM

ltgm, thanks for the fix.

Allow general default attributes (nofree nosync nounwind) for pseudo probe intrinsic.

Can you expand in this commit message to also explain what problem this caused and fixed -- containing function cannot have these attribute.

llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
282

Perhaps we should audit the use of DbgInfoIntrinsic to see if there're others that should be changed

This revision is now accepted and ready to land.Sep 17 2021, 9:32 AM
hoy edited the summary of this revision. (Show Details)Sep 17 2021, 9:49 AM

ltgm, thanks for the fix.

Allow general default attributes (nofree nosync nounwind) for pseudo probe intrinsic.

Can you expand in this commit message to also explain what problem this caused and fixed -- containing function cannot have these attribute.

Summary updated.

llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
282

Good point. Will do.

This revision was landed with ongoing or failed builds.Sep 17 2021, 12:28 PM
This revision was automatically updated to reflect the committed changes.