Page MenuHomePhabricator

wenlei (Wenlei He)
User

Projects

User does not belong to any projects.

User Details

User Since
Apr 3 2019, 5:55 PM (115 w, 22 h)

Recent Activity

Today

wenlei updated subscribers of D104431: [lld] Add lto-cspgo-warn-mismatch option for COFF.

+ @xur

Thu, Jun 17, 10:12 AM · Restricted Project

Yesterday

wenlei added inline comments to D104267: [CSSPGO] Fix an invalid hash table reference issue in the CS preinliner..
Wed, Jun 16, 5:35 PM · Restricted Project
wenlei added inline comments to D104267: [CSSPGO] Fix an invalid hash table reference issue in the CS preinliner..
Wed, Jun 16, 12:31 PM · Restricted Project
wenlei added inline comments to D104267: [CSSPGO] Fix an invalid hash table reference issue in the CS preinliner..
Wed, Jun 16, 12:04 PM · Restricted Project
wenlei added a comment to D104129: [CSSPGO] Report zero-count probe in profile instead of dangling probes..

Google keeps zero counts in the profile. It treats missing lines conservatively and tries to infer their hotness. I vaguely remember there is a flag added to control it.

Wed, Jun 16, 11:26 AM · Restricted Project

Tue, Jun 15

wenlei added a comment to D104129: [CSSPGO] Report zero-count probe in profile instead of dangling probes..

Be consistent with dwarf line number based profile.

This is not accurate, see earlier comments. What i meant was not about "non-probe profile -> dwarf line number profile".

Otherwise lgtm. Thanks.

It should be consistent with non-CS dwarf-based profile. CS dwarf-based profile doesn't have either zero or dangling reported, likely needs a fix. Is that what you meant?

Tue, Jun 15, 11:25 PM · Restricted Project
wenlei accepted D104129: [CSSPGO] Report zero-count probe in profile instead of dangling probes..

Be consistent with dwarf line number based profile.

Tue, Jun 15, 11:06 PM · Restricted Project
wenlei added inline comments to D104129: [CSSPGO] Report zero-count probe in profile instead of dangling probes..
Tue, Jun 15, 10:11 PM · Restricted Project
wenlei added a comment to D104129: [CSSPGO] Report zero-count probe in profile instead of dangling probes..

Be consistent with non-probe profile.

AutoFDO profile usually does not fill in zeros. counts below a certain threshold is omitted to save profile size.

Now in order to differentiate from unknown, the approach taken here is to always mark any known count including zero. In that sense this is different from AutoFDO (actually before this change, dangling probes are marked so zero counts can be omitted which is closer to AutoFDO for representing sparse profile).

Improving counts quality by respecting the counts already collected on the non-dangling sibling of the danling probe

nit on the wording, sibling leads others to think it's a different probe under the same probe inline tree. Here, it's really just copies of the same probe (probes sharing the same Id).

Tue, Jun 15, 8:58 PM · Restricted Project
wenlei committed rG76de2f4a9c02: CMake: allow overriding CMAKE_CXX_VISIBILITY_PRESET (authored by wenlei).
CMake: allow overriding CMAKE_CXX_VISIBILITY_PRESET
Tue, Jun 15, 3:58 PM
wenlei closed D104168: CMake: allow overriding CMAKE_CXX_VISIBILITY_PRESET.
Tue, Jun 15, 3:58 PM · Restricted Project
wenlei added a comment to D104168: CMake: allow overriding CMAKE_CXX_VISIBILITY_PRESET.

This is blocking our internal adoption of llvm-12, going to commit on behalf of Igor now.

Tue, Jun 15, 3:52 PM · Restricted Project
wenlei added inline comments to D104276: [CSSPGO][llvm-profgen] Ignore LBR records after interrup transition.
Tue, Jun 15, 12:43 PM · Restricted Project
wenlei added inline comments to D104276: [CSSPGO][llvm-profgen] Ignore LBR records after interrup transition.
Tue, Jun 15, 12:18 PM · Restricted Project
wenlei accepted D104168: CMake: allow overriding CMAKE_CXX_VISIBILITY_PRESET.

Makes sense to me to still allow overriding. Thanks for the change.

Tue, Jun 15, 11:52 AM · Restricted Project
wenlei added a comment to D104129: [CSSPGO] Report zero-count probe in profile instead of dangling probes..

Be consistent with non-probe profile.

Tue, Jun 15, 7:53 AM · Restricted Project
wenlei added a comment to D104129: [CSSPGO] Report zero-count probe in profile instead of dangling probes..

Thanks for working on this. Among all deleted probes, if the majority of them are actually dangling (i.e removed due to hoisting, merging like optimization as opposed to dce), it makes sense to default to dangling and explicitly marking non-dangling. Previously we assumed that majority of deleted probes are not dangled, hence we choose to mark dangled ones explicitly.

Tue, Jun 15, 12:09 AM · Restricted Project

Mon, Jun 14

wenlei accepted D104161: [NFC] [DwarfEHPrepare] Add additional stats for EH.

lgtm, thanks.

Mon, Jun 14, 11:17 PM · Restricted Project
wenlei added inline comments to D104267: [CSSPGO] Fix an invalid hash table reference issue in the CS preinliner..
Mon, Jun 14, 10:27 PM · Restricted Project

Sat, Jun 12

wenlei added a comment to D104099: [NewPM] Remove SpeculateAroundPHIs pass.

Adding Wei to help measure performance impact on our internal workloads. Also add Wenlei to help measure impact with FB's workloads.

Sat, Jun 12, 10:23 PM · Restricted Project, Restricted Project

Fri, Jun 11

wenlei committed rG0a0800c4d10c: A post-processing for BFI inference (authored by spupyrev).
A post-processing for BFI inference
Fri, Jun 11, 9:52 PM
wenlei closed D103289: A post-processing for BFI inference.
Fri, Jun 11, 9:52 PM · Restricted Project
wenlei accepted D104131: [CSSPGO] Aggregation by the last K context frames for cold profiles.

lgtm, thanks!

Fri, Jun 11, 9:31 PM · Restricted Project
wenlei accepted D103289: A post-processing for BFI inference.

lgtm, thanks for working on this Sergey!

Fri, Jun 11, 9:30 PM · Restricted Project
wenlei added inline comments to D103988: SampleFDO] place the discriminator flag variable into the used list..
Fri, Jun 11, 9:11 PM · Restricted Project
wenlei added inline comments to D104131: [CSSPGO] Aggregation by the last K context frames for cold profiles.
Fri, Jun 11, 8:53 PM · Restricted Project
wenlei added inline comments to D104161: [NFC] [DwarfEHPrepare] Add additional stats for EH.
Fri, Jun 11, 8:37 PM · Restricted Project
wenlei added a comment to D103867: [CHR] Don't run ControlHeightReduction if any BB has address taken.

Poking around it looks like this should be handled for inlining, not sure why the previous case we ran into wasn't covered by that code below from CallAnalyzer::analyze()

// Disallow inlining a blockaddress with uses other than strictly callbr.
// A blockaddress only has defined behavior for an indirect branch in the
// same function, and we do not currently support inlining indirect
// branches.  But, the inliner may not see an indirect branch that ends up
// being dead code at a particular call site. If the blockaddress escapes
// the function, e.g., via a global variable, inlining may lead to an
// invalid cross-function reference.
// FIXME: pr/39560: continue relaxing this overt restriction.
if (BB->hasAddressTaken())
  for (User *U : BlockAddress::get(&*BB)->users())
    if (!isa<CallBrInst>(*U))
      return InlineResult::failure("blockaddress used outside of callbr");

LGTM, thanks for the fix.

I think because that code is only checking for CallBrInst users. But in a computed goto pattern, the addresses are usually just stored in a global variable.

Fri, Jun 11, 8:04 PM · Restricted Project
wenlei accepted D103867: [CHR] Don't run ControlHeightReduction if any BB has address taken.

do all passes that clone BBs have to worry about this?

I think so. We've seen a similar case in inlining where an address-taken block was inlined. The inlining should be disabled as well.

Fri, Jun 11, 4:33 PM · Restricted Project
wenlei added a comment to D104131: [CSSPGO] Aggregation by the last K context frames for cold profiles.

Thanks for the patch. I think this can be useful for tuning. However as we discussed, it'd be nice if the level of merging (number of frames to keep after merging) can be adaptive based on hotness. But to do that, the preinliner in llvm-profgen is the way to go.

Fri, Jun 11, 10:38 AM · Restricted Project

Thu, Jun 10

wenlei updated subscribers of D104060: Machine IR Profile.

cc @davidxl @xur @wmi

Thu, Jun 10, 3:35 PM · Restricted Project

Tue, Jun 8

wenlei accepted D103909: [CSSPGO] Emit mangled dwarf names for line tables debug option under -fpseudo-probe-for-profiling.

lgtm, thanks for the fix.

Tue, Jun 8, 10:40 AM · Restricted Project

Sun, Jun 6

wenlei added a comment to D93838: [SCCP] Add Function Specialization pass.

We also saw ipa-cp-clone being a very noticeable difference between gcc and llvm when we tried to move workloads from gcc to llvm. Thanks for working on this for llvm optimization parity with gcc.

Sun, Jun 6, 11:55 AM · Restricted Project
wenlei added inline comments to D103289: A post-processing for BFI inference.
Sun, Jun 6, 12:32 AM · Restricted Project

Thu, Jun 3

wenlei committed rGaaa826fac16b: [CSSPGO][llvm-profgen] Make extended binary the default output format (authored by wenlei).
[CSSPGO][llvm-profgen] Make extended binary the default output format
Thu, Jun 3, 5:59 PM
wenlei closed D103650: [CSSPGO][llvm-profgen] Make extended binary the default output format.
Thu, Jun 3, 5:58 PM · Restricted Project
wenlei added inline comments to D103550: [SampleFDO] New hierarchical discriminator for FS SampleFDO (llvm-profdata part).
Thu, Jun 3, 5:24 PM · Restricted Project
wenlei requested review of D103650: [CSSPGO][llvm-profgen] Make extended binary the default output format.
Thu, Jun 3, 2:58 PM · Restricted Project

Thu, May 27

wenlei updated subscribers of D103289: A post-processing for BFI inference.

cc @wmi @xur @davidxl

Thu, May 27, 3:44 PM · Restricted Project
wenlei accepted D103041: [SampleFDO] New hierarchical discriminator for FS SampleFDO (ProfileData part).

lgtm, thanks.

Thu, May 27, 3:09 PM · Restricted Project

Wed, May 26

wenlei added inline comments to D103041: [SampleFDO] New hierarchical discriminator for FS SampleFDO (ProfileData part).
Wed, May 26, 9:34 AM · Restricted Project
wenlei accepted D103162: [DebugInfo] Limit the number of values that may be referenced by a dbg.value.

lgtm, thanks.

Wed, May 26, 8:38 AM · Restricted Project, debug-info
wenlei added a comment to D103162: [DebugInfo] Limit the number of values that may be referenced by a dbg.value.

Thanks for the change. I tried a few limits on the repro case I mentioned in D91722. It does look like 16 is a sweet spot at least for that case. :) Without forcing a limit, the case runs for 10+ hours..

Wed, May 26, 8:37 AM · Restricted Project, debug-info
wenlei added a comment to D91722: [DebugInfo] Use variadic debug values to salvage BinOps and GEP instrs with non-const operands.

We're seeing a pathological case with 36ec97f76ac0d8be76fb16ac521f55126766267d (3rd Reapply "[DebugInfo] Use variadic debug values to salvage BinOps and GEP instrs with non-const operands).

I didn't encounter any such cases while testing this patch, but it's certainly possible for it to occur. Personally, I think the best approach for this is to impose a limit on the number of args that can be added to a DIArgList by salvaging - it's clear that it is not feasible to salvage everywhere we possibly can. I think that a max of 32 is probably a reasonable amount, but if you have a reproducer for this issue I can do some performance testing myself to more accurately determine a sensible limit.

I do believe that InstCombine also has a problem with massively inflating the number of debug intrinsics in a function; the slowdown factor you're seeing is probably the product of these two factors.

Wed, May 26, 8:16 AM · Restricted Project, debug-info

Tue, May 25

wenlei added a comment to D91722: [DebugInfo] Use variadic debug values to salvage BinOps and GEP instrs with non-const operands.

We're seeing a pathological case with 36ec97f76ac0d8be76fb16ac521f55126766267d (3rd Reapply "[DebugInfo] Use variadic debug values to salvage BinOps and GEP instrs with non-const operands).

Tue, May 25, 10:18 PM · Restricted Project, debug-info
wenlei committed rGfa14fd30ce67: [CSSPGO][llvm-profgen] Change default cold threshold for context merging (authored by wenlei).
[CSSPGO][llvm-profgen] Change default cold threshold for context merging
Tue, May 25, 10:41 AM
wenlei closed D103071: [CSSPGO][llvm-profgen] Change default cold threshold for context merging.
Tue, May 25, 10:41 AM · Restricted Project

Mon, May 24

wenlei requested review of D103071: [CSSPGO][llvm-profgen] Change default cold threshold for context merging.
Mon, May 24, 9:32 PM · Restricted Project
wenlei added a comment to D102961: [CSSPGO][llvm-profgen] Report samples for untrackable frames..

lgtm with a nit, thanks for the fix.

Mon, May 24, 12:24 PM · Restricted Project
wenlei accepted D102961: [CSSPGO][llvm-profgen] Report samples for untrackable frames..
Mon, May 24, 12:24 PM · Restricted Project
wenlei added inline comments to D102961: [CSSPGO][llvm-profgen] Report samples for untrackable frames..
Mon, May 24, 11:25 AM · Restricted Project

Wed, May 19

wenlei added inline comments to D102808: [NFC][SampleFDO] Add more debugging logic..
Wed, May 19, 2:24 PM · Restricted Project
wenlei accepted D102721: [CSSPGO] Avoid deleting probe instruction in FoldValueComparisonIntoPredecessors.

lgtm, thanks.

Wed, May 19, 11:09 AM · Restricted Project

Tue, May 18

wenlei accepted D102537: [CSSPGO] Overwrite branch weight annotated in previous pass..

lgtm, thanks.

Tue, May 18, 10:31 PM · Restricted Project

May 18 2021

wenlei accepted D102246: [SampleFDO] New hierarchical discriminator for Flow Sensitive SampleFDO.

lgtm too, thanks. looking forward to complete fs-adfo support and we'd be happy to give it a try.

May 18 2021, 12:14 PM · Restricted Project

May 17 2021

wenlei added a comment to D102537: [CSSPGO] Overwrite branch weight annotated in previous pass..

Thanks for bringing this up - it makes sure we give full context profile precedence even when we had to use context-less profile in prelink.

When counts are accurate, I was seeing #1 and #2 help reduce code size by preventing post-sample ICP and CGSCC inliner working on obselete metedata.

I assume the above is from CSSPGO, right?

It'd be good to call out in the change description as to why postlink overwrite could be beneficial.

Yes, they are for CSSPGO.

If we target AutoFDO as well, would be good to mention the impact on AutoFDO too.

I haven't tested for non-CS case. In theory it should help there but with a less-than-ideal counts quality, the change may not help in practice.

May 17 2021, 9:54 AM · Restricted Project

May 15 2021

wenlei added a comment to D102537: [CSSPGO] Overwrite branch weight annotated in previous pass..

Thanks for bringing this up - it makes sure we give full context profile precedence even when we had to use context-less profile in prelink.

May 15 2021, 6:21 PM · Restricted Project
wenlei accepted D102429: [CSSPGO] Update pseudo probe distribution factor based on inline context..

lgtm, with some nit on comments.

May 15 2021, 5:40 PM · Restricted Project

May 14 2021

wenlei added a comment to D102246: [SampleFDO] New hierarchical discriminator for Flow Sensitive SampleFDO.

Integrated Wenlei's suggestions.

@wenlei: I only moved encoding / decoding static functions from DebugInfoMetadata.h to the new Support/Discriminator.h and left other discriminator codes in DebugInfoMetadata.h. Not sure if this is what you meant in the comments.

May 14 2021, 1:56 PM · Restricted Project
wenlei added inline comments to D102246: [SampleFDO] New hierarchical discriminator for Flow Sensitive SampleFDO.
May 14 2021, 1:54 PM · Restricted Project
wenlei accepted D102007: [CSSPGO] Fix return value of getProbeWeight.

lgtm, thanks.

May 14 2021, 1:47 PM · Restricted Project
wenlei updated subscribers of D102246: [SampleFDO] New hierarchical discriminator for Flow Sensitive SampleFDO.

cc: @wlei

May 14 2021, 11:57 AM · Restricted Project
wenlei added inline comments to D102429: [CSSPGO] Update pseudo probe distribution factor based on inline context..
May 14 2021, 10:41 AM · Restricted Project
wenlei added inline comments to D102429: [CSSPGO] Update pseudo probe distribution factor based on inline context..
May 14 2021, 10:35 AM · Restricted Project
wenlei added inline comments to D102246: [SampleFDO] New hierarchical discriminator for Flow Sensitive SampleFDO.
May 14 2021, 10:18 AM · Restricted Project
wenlei added inline comments to D102246: [SampleFDO] New hierarchical discriminator for Flow Sensitive SampleFDO.
May 14 2021, 10:09 AM · Restricted Project

May 7 2021

wenlei added inline comments to D102007: [CSSPGO] Fix return value of getProbeWeight.
May 7 2021, 9:33 PM · Restricted Project
wenlei added inline comments to D102007: [CSSPGO] Fix return value of getProbeWeight.
May 7 2021, 4:15 PM · Restricted Project

May 3 2021

wenlei accepted D101815: [SampleFDO] Fix a bug when appending function symbol into the Callees set of Root node in ProfiledCallGraph..

good catch, thanks for the fix!

May 3 2021, 11:18 PM · Restricted Project

Apr 27 2021

wenlei accepted D101415: [CSSPGO] Fix an AV caused by a block that has only pseudo pseudo instructions..

lgtm, thanks for the fix.

Apr 27 2021, 5:44 PM · Restricted Project
wenlei added a comment to D101415: [CSSPGO] Fix an AV caused by a block that has only pseudo pseudo instructions..

So without this fix, it would AV as well if a block only had dbg instruction?

Apr 27 2021, 5:29 PM · Restricted Project

Apr 26 2021

wenlei committed rGb2d079379b6c: [CSSPGO] Explicitly disallow Binary and Compact Binary profile format for CSSPGO (authored by wenlei).
[CSSPGO] Explicitly disallow Binary and Compact Binary profile format for CSSPGO
Apr 26 2021, 9:10 AM
wenlei closed D101300: [CSSPGO] Explicitly disallow Binary and Compact Binary profile format for CSSPGO.
Apr 26 2021, 9:10 AM · Restricted Project
wenlei requested review of D101300: [CSSPGO] Explicitly disallow Binary and Compact Binary profile format for CSSPGO.
Apr 26 2021, 8:26 AM · Restricted Project

Apr 23 2021

wenlei accepted D101195: [CSSPGO] Fix missing debug info of dangling pseudo probe.

lgtm

Apr 23 2021, 2:23 PM · Restricted Project
wenlei added inline comments to D101195: [CSSPGO] Fix missing debug info of dangling pseudo probe.
Apr 23 2021, 1:45 PM · Restricted Project
wenlei added inline comments to D101195: [CSSPGO] Fix missing debug info of dangling pseudo probe.
Apr 23 2021, 1:28 PM · Restricted Project
wenlei accepted D100993: [CSSPGO] Fix incorrect prorating indirect call distribution factor that leads to target count loss..

lgtm, thanks for addressing the ICP issues.

Apr 23 2021, 9:27 AM · Restricted Project
wenlei added inline comments to D100993: [CSSPGO] Fix incorrect prorating indirect call distribution factor that leads to target count loss..
Apr 23 2021, 9:12 AM · Restricted Project

Apr 22 2021

wenlei added inline comments to D100993: [CSSPGO] Fix incorrect prorating indirect call distribution factor that leads to target count loss..
Apr 22 2021, 10:14 AM · Restricted Project
wenlei committed rGdff8315892e7: [CSSPGO][llvm-profdata] Support trimming cold context when merging profiles (authored by wenlei).
[CSSPGO][llvm-profdata] Support trimming cold context when merging profiles
Apr 22 2021, 12:43 AM
wenlei closed D100528: [CSSPGO][llvm-profdata] Support trimming cold context when merging profiles.
Apr 22 2021, 12:43 AM · Restricted Project
wenlei added inline comments to D100993: [CSSPGO] Fix incorrect prorating indirect call distribution factor that leads to target count loss..
Apr 22 2021, 12:42 AM · Restricted Project

Apr 21 2021

wenlei accepted D101006: [llvm-profgen] Couple tweaks to the testing harness..

lgtm, thanks.

Apr 21 2021, 6:04 PM · Restricted Project
wenlei added inline comments to D100993: [CSSPGO] Fix incorrect prorating indirect call distribution factor that leads to target count loss..
Apr 21 2021, 4:25 PM · Restricted Project
wenlei updated the diff for D100528: [CSSPGO][llvm-profdata] Support trimming cold context when merging profiles.

Ignore trim/merge flag for non-CS profile.

Apr 21 2021, 3:31 PM · Restricted Project
wenlei added a comment to D100528: [CSSPGO][llvm-profdata] Support trimming cold context when merging profiles.

The dependency on Analysis should be removed in the latest version.

Apr 21 2021, 3:27 PM · Restricted Project
wenlei added inline comments to D100993: [CSSPGO] Fix incorrect prorating indirect call distribution factor that leads to target count loss..
Apr 21 2021, 2:38 PM · Restricted Project
wenlei updated the diff for D100528: [CSSPGO][llvm-profdata] Support trimming cold context when merging profiles.

Cleanup.

Apr 21 2021, 1:06 PM · Restricted Project
wenlei updated the diff for D100528: [CSSPGO][llvm-profdata] Support trimming cold context when merging profiles.

Move threshold knobs into ProfileSummaryBuilder, avoid pulling Analysis lib into tools.

Apr 21 2021, 1:02 PM · Restricted Project
wenlei added inline comments to D100528: [CSSPGO][llvm-profdata] Support trimming cold context when merging profiles.
Apr 21 2021, 11:21 AM · Restricted Project
wenlei accepted D100235: [CSSPGO][llvm-profgen] Always report dangling probes for frames with real samples..

lgtm, thanks!

Apr 21 2021, 8:56 AM · Restricted Project

Apr 19 2021

wenlei added inline comments to D100528: [CSSPGO][llvm-profdata] Support trimming cold context when merging profiles.
Apr 19 2021, 10:10 AM · Restricted Project

Apr 14 2021

wenlei added inline comments to D100528: [CSSPGO][llvm-profdata] Support trimming cold context when merging profiles.
Apr 14 2021, 11:02 PM · Restricted Project
wenlei requested review of D100528: [CSSPGO][llvm-profdata] Support trimming cold context when merging profiles.
Apr 14 2021, 10:58 PM · Restricted Project

Apr 13 2021

wenlei accepted D100351: [CSSPGO] Fix a test issue due to portablity of std::hash.

lgtm, thanks.

Apr 13 2021, 4:26 PM · Restricted Project

Apr 12 2021

wenlei added a comment to D100351: [CSSPGO] Fix a test issue due to portablity of std::hash.

Thanks for the fix. How about using DAG check for things under other "Getting base profile for function" too?

Apr 12 2021, 6:06 PM · Restricted Project
wenlei added a comment to D100235: [CSSPGO][llvm-profgen] Always report dangling probes for frames with real samples..

Another issue being fixed is that all outlined functions shared the same inline frame previously due to the unchanged Index value as the dummy inlineSite identifier.

Why is this an issue? What problem does this cause? Conceptually, if we want to give them a tree structure, top level inliner are indeed children of dummy root.

Yes, top level inliner is still children of dummy root with this change. However, they do not share dummy callsite id any more. Note that without this change, the dummy callsite id for top-level inliner (Index below) isn't updated correctly.

if (Root != Cur) {
   Index = readUnsignedNumber<uint32_t>();
 }

Yeah, index would always be zero. But what problem does this cause? It seems that the call site id for top-level inliner is a dummy field anyways, so value should be ignored. Currently it works just fine, right? Is it also motivated by the upcoming change to report dangling probes with counts (so you need to different call site under dummy root)? If so, it might make sense to include it there as well..

The index starts from zero, and could be updated by parsing an inlinee. And when it comes back to the next top-level inliner, the value index is the leftover from the previous inlinee. This causes top-level inliner frames non-deterministically shared. The fix is motivated by upcoming dangling probe work but I feel that it may also affect inliner context building for shared top-level frames. I'll see if I can find a case for that. Otherwise I'll include this fix in the dangling probe patch as well.

Apr 12 2021, 10:18 AM · Restricted Project
wenlei added a comment to D100235: [CSSPGO][llvm-profgen] Always report dangling probes for frames with real samples..

Another issue being fixed is that all outlined functions shared the same inline frame previously due to the unchanged Index value as the dummy inlineSite identifier.

Why is this an issue? What problem does this cause? Conceptually, if we want to give them a tree structure, top level inliner are indeed children of dummy root.

Yes, top level inliner is still children of dummy root with this change. However, they do not share dummy callsite id any more. Note that without this change, the dummy callsite id for top-level inliner (Index below) isn't updated correctly.

if (Root != Cur) {
   Index = readUnsignedNumber<uint32_t>();
 }
Apr 12 2021, 8:59 AM · Restricted Project

Apr 10 2021

wenlei committed rG00ef28ef21f0: [CSSPGO] Fix dangling context strings and improve profile order consistency and… (authored by wenlei).
[CSSPGO] Fix dangling context strings and improve profile order consistency and…
Apr 10 2021, 12:59 PM