This is an archive of the discontinued LLVM Phabricator instance.

[MemProf] Context disambiguation cloning pass [patch 1b/3]
ClosedPublic

Authored by tejohnson on Mar 10 2023, 7:20 PM.

Details

Summary

Adds support for building the graph in ThinLTO from MemProf summaries.

Follow-on patches will contain the support for cloning on the graph and
in the IR.

Depends on D140908.

Diff Detail

Event Timeline

tejohnson created this revision.Mar 10 2023, 7:20 PM
Herald added a project: Restricted Project. · View Herald TranscriptMar 10 2023, 7:20 PM
tejohnson requested review of this revision.Mar 10 2023, 7:20 PM
Herald added a project: Restricted Project. · View Herald TranscriptMar 10 2023, 7:20 PM
snehasish accepted this revision.Mar 21 2023, 2:22 PM

lgtm, I assume you will reduce these test cases too?

llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
1381

Should we give the ThinLTO version a different filename?

This revision is now accepted and ready to land.Mar 21 2023, 2:22 PM

lgtm, I assume you will reduce these test cases too?

Thank, yep. My plan is to commit 1a probably tomorrow morning, then rebase this one (applying similar fixes to the comments from 1a where appropriate). Then after I commit 1b I will rebase patch 2 (I'll let you know when that one is ready for re-review).

llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
1381

good idea will do

Rebase code and tests on top of committed patch 1a

tejohnson added inline comments.Mar 22 2023, 11:42 AM
llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
1381

Actually, other than in this location, it is trickier to do this as the calls to exportToDot are from the common code. I am not sure it is worth it to provide special derived class handling just to get a different name for the dot files (for the tests they will be in different directories anyway).

Reduce test cases

This revision was landed with ongoing or failed builds.Mar 22 2023, 2:58 PM
This revision was automatically updated to reflect the committed changes.