This is the corresponding Bolt change to D135914: [PseudoProbe] Decode offset based pseudo probe.. To be
minimal intrusive, the pseudo probe re-encoding sticks with
the old encoding format. This is fine since unlike linker, Bolt
processes the pseudo probe section as a whole and it is free
from relocation overflow issues.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Is this change going to be tested in the parent diff or otherwise?
A couple of nits: change [Bolt] -> [BOLT] in the Title and use 72-char line width for the Summary.
bolt/lib/Rewrite/RewriteInstance.cpp | ||
---|---|---|
611–612 | I left the comment on the parent diff regarding the types. | |
3528 | nit: | |
3529 | nit: this line looks more than 80 chars wide. |
Looks good. There's a couple of styling nits. You might need to run arc with --verbatim to update Title and Summary fields.
bolt/lib/Rewrite/RewriteInstance.cpp | ||
---|---|---|
611–612 | nit: following LLVM style for type names (https://llvm.org/docs/CodingStandards.html#name-types-functions-variables-and-enumerators-properly) | |
613–614 | ||
3527 |
I noticed that other Bolt commits has line wrapping in its summary. Does arc diff --verbatim do the trick?
I mean if you fix Title+Summary locally, you'll need the flag to update the phabricator diff.
bolt/lib/Rewrite/RewriteInstance.cpp | ||
---|---|---|
613 | A quick question for bolt folks - does BinarayFunction represent individual segments of split functions; or does BinaryFunction simply maps to original function, with MCSymbol under a binary function representing each split funclets? Asking because we want to make sure naming convention is consistent for probe emission and bolt. |
bolt/lib/Rewrite/RewriteInstance.cpp | ||
---|---|---|
613 | We have a limited support for inputs with split functions. At the moment, we have one BinaryFunction for each function fragment, but it doesn't work well for a number of reasons, and for a proper support we will eventually have to merge the fragments into a single instance of a BinaryFunction. When BOLT splits functions, each fragment will come from the same instance of BinaryFunction. |
@hoy, Amir will migrate the internal pseudo-probe tests. That should enable you to add/modify the test for this change.
This is great! Actually I already have a fix to our internal pseudo probe tests. Will work with Amir to get that in.
I left the comment on the parent diff regarding the types.