Page MenuHomePhabricator

wmi (Wei Mi)
User

Projects

User does not belong to any projects.

User Details

User Since
Feb 20 2015, 10:57 AM (290 w, 6 d)

Recent Activity

Wed, Sep 16

wmi accepted D87740: [llvm-profdata]Fix llvm-profdata crash on compact binary profile.
Wed, Sep 16, 6:04 PM · Restricted Project
wmi added a comment to D87740: [llvm-profdata]Fix llvm-profdata crash on compact binary profile.
In D87740#2277446, @hoy wrote:

Thanks for the fix! LGTM.

I'm also seeing InstrProfSymtab is there to handle MD5-based names for PGO instrumentation. Not sure how it is used exactly. @wmi Have we thought about using that for AutoFDO?

Wed, Sep 16, 5:36 PM · Restricted Project
wmi accepted D87768: [NFC][regalloc] type LiveInterval::reg() as Register.

LGTM.

Wed, Sep 16, 1:49 PM · Restricted Project

Tue, Sep 15

wmi accepted D87725: [NFC][Regalloc] accessors for 'reg' and 'weight'.

LGTM

Tue, Sep 15, 10:43 PM · Restricted Project

Wed, Sep 9

wmi added a comment to D86495: [CSSPGO] MIR target-independent pseudo instruction for pseudo-probe intrinsic.
In D86495#2264877, @hoy wrote:
In D86495#2264868, @wmi wrote:

It is better to have a MIR test.

Yeah, the test is actually included in https://reviews.llvm.org/D86499. It tests both the IR and MIR change.

Wed, Sep 9, 9:51 PM · Restricted Project
wmi added a comment to D86495: [CSSPGO] MIR target-independent pseudo instruction for pseudo-probe intrinsic.

It is better to have a MIR test.

Wed, Sep 9, 9:02 PM · Restricted Project
wmi added inline comments to D86499: [CSSPGO] Pseudo probe instrumentation pass.
Wed, Sep 9, 9:02 PM · Restricted Project

Fri, Aug 28

wmi added a comment to D86502: [CSSPGO] A Clang switch -fpseudo-probe-for-profiling for pseudo-probe instrumentation..
In D86502#2245578, @hoy wrote:
In D86502#2245460, @wmi wrote:

The early instrumentation also allows the inliner to duplicate probes for inlined instances. When a probe along with the other instructions of a callee function are inlined into its caller function, the GUID of the callee function goes with the probe. This allows samples collected on inlined probes to be reported for the original callee function.

Just get a question from reading the above. Suppose A only has one BB and the BB has one PseudoProbe in it. If function A is inlined into B1 and B2 and both B1 and B2 inlined into C, the PseudoProbe from A will have two copies in C both carrying GUID of A. How the samples collected from A inlined into B1 inlined into C are categorized differently from A inlined into B2 inlined into C, especially when debug information is not enabled (so no inline stack information in the binary)?

This is a very good question. Inlined functions are differentiated by their original callsites. A pseudo probe is allocated for each callsite in the SampleProfileProbe pass. Nested inlining will produce a stack of pseudo probes, similar with the Dwarf inline stack. The work is not included in the first set of patches.

Fri, Aug 28, 4:38 PM · Restricted Project, Restricted Project
wmi added inline comments to D86490: [CSSPGO] IR instrinsic for pseudo-probe block instrumentation.
Fri, Aug 28, 2:40 PM · Restricted Project
wmi added a comment to D86502: [CSSPGO] A Clang switch -fpseudo-probe-for-profiling for pseudo-probe instrumentation..

The early instrumentation also allows the inliner to duplicate probes for inlined instances. When a probe along with the other instructions of a callee function are inlined into its caller function, the GUID of the callee function goes with the probe. This allows samples collected on inlined probes to be reported for the original callee function.

Fri, Aug 28, 2:36 PM · Restricted Project, Restricted Project

Wed, Aug 26

wmi added a comment to D86193: [CSSPGO] Pseudo probe instrumentation for basic blocks..
In D86193#2240502, @hoy wrote:
In D86193#2240353, @wmi wrote:

There are some optimizations such as if-convert, tail call elimination, that were initially blocked by the pseudo probe intrinsic but is now unblocked by fixes included in this change. With the current change we do not see perf degradation out of SPEC and one of our internal large services.
The main optimizations left blocked intentionally are those that merge blocks for smaller code size, such as tail merge which is the opposite of jump threading. We believe that those optimizations are not very beneficial for performance and AutoFDO.

If the optimizations are not very beneficial for performance and AutoFDO and should be blocked, it may be better to block them in a more general way and not depend on pseudo probe, because blocking them may also be beneficial for debug info based AutoFDO.

In theory, yes, we should have a black list of transforms (mainly related to block merge) that are not needed by AutoFDO and block them. In reality it might take quite some efforts to figure them out. Pseudo probe, on the other hand, starts with blocking those transforms in the first place and relax the ones that might actually help AutoFDO.

Another reason is that pseudo probe looks pretty much like debug information to me. They are used to annotate the IR but shouldn't affect the transformation. Binaries built w/wo debug information are required to be identical in LLVM. I think that requirement could be applied on pseudo probe as well. It is even better to have some test to enforce it so that no change in the future could break the requirement.

Good point! Yes, pseudo probe is implemented in a similar way with the debug intrinsics. However they are not guaranteed to not affect the codegen since its main purpose is to achieve an accurate profile correlation with low cost. Regarding the cost, it sits somewhere between the debug intrinsics and the PGO instrumentation and close to a zero cost in practice.

Wed, Aug 26, 5:12 PM · Restricted Project, Restricted Project
wmi added a comment to D86193: [CSSPGO] Pseudo probe instrumentation for basic blocks..

There are some optimizations such as if-convert, tail call elimination, that were initially blocked by the pseudo probe intrinsic but is now unblocked by fixes included in this change. With the current change we do not see perf degradation out of SPEC and one of our internal large services.
The main optimizations left blocked intentionally are those that merge blocks for smaller code size, such as tail merge which is the opposite of jump threading. We believe that those optimizations are not very beneficial for performance and AutoFDO.

Wed, Aug 26, 2:43 PM · Restricted Project, Restricted Project
wmi added a comment to D86490: [CSSPGO] IR instrinsic for pseudo-probe block instrumentation.

Thanks for splitting the patch into smaller ones. Can you have a separate test just to check the pseudo probe can be parsed and not deleted by any pass?

Wed, Aug 26, 2:33 PM · Restricted Project
wmi committed rGc67ccf5fafc8: [SampleFDO] Enhance profile remapping support for searching inline instance (authored by wmi).
[SampleFDO] Enhance profile remapping support for searching inline instance
Wed, Aug 26, 11:08 AM
wmi closed D86332: [SampleFDO] Enhance profile remapping support for inline instance.
Wed, Aug 26, 11:08 AM · Restricted Project

Tue, Aug 25

wmi added a comment to D86332: [SampleFDO] Enhance profile remapping support for inline instance.

Thanks Wenlei for the review and the insightful suggestions!

Tue, Aug 25, 10:10 PM · Restricted Project
wmi updated the diff for D86332: [SampleFDO] Enhance profile remapping support for inline instance.

Address Wenlei's comment.

Tue, Aug 25, 10:04 PM · Restricted Project
wmi added inline comments to D86332: [SampleFDO] Enhance profile remapping support for inline instance.
Tue, Aug 25, 10:03 PM · Restricted Project
wmi added inline comments to D86332: [SampleFDO] Enhance profile remapping support for inline instance.
Tue, Aug 25, 9:15 PM · Restricted Project
wmi updated the diff for D86332: [SampleFDO] Enhance profile remapping support for inline instance.

Address Wenlei's comment and add the support to search indirect call promotion candidate using remapper.

Tue, Aug 25, 5:25 PM · Restricted Project

Mon, Aug 24

wmi added inline comments to D86332: [SampleFDO] Enhance profile remapping support for inline instance.
Mon, Aug 24, 10:53 PM · Restricted Project
wmi updated subscribers of D86495: [CSSPGO] MIR target-independent pseudo instruction for pseudo-probe intrinsic.

I don't know since I don't use arc.

Mon, Aug 24, 6:14 PM · Restricted Project
wmi added inline comments to D86332: [SampleFDO] Enhance profile remapping support for inline instance.
Mon, Aug 24, 8:20 AM · Restricted Project

Sun, Aug 23

wmi added a comment to D86193: [CSSPGO] Pseudo probe instrumentation for basic blocks..

Thanks for the patch! A few questions:

Sun, Aug 23, 11:35 AM · Restricted Project, Restricted Project
wmi added inline comments to D86332: [SampleFDO] Enhance profile remapping support for inline instance.
Sun, Aug 23, 9:44 AM · Restricted Project

Fri, Aug 21

wmi updated the diff for D86332: [SampleFDO] Enhance profile remapping support for inline instance.

Address Hongtao's comment.

Fri, Aug 21, 8:55 PM · Restricted Project
wmi added a comment to D86332: [SampleFDO] Enhance profile remapping support for inline instance.

Hongtao, thanks for the review!

Fri, Aug 21, 8:54 PM · Restricted Project

Thu, Aug 20

wmi updated the diff for D86332: [SampleFDO] Enhance profile remapping support for inline instance.

Remove an unrelated file being accidently included.

Thu, Aug 20, 11:16 PM · Restricted Project
wmi requested review of D86332: [SampleFDO] Enhance profile remapping support for inline instance.
Thu, Aug 20, 11:06 PM · Restricted Project

Aug 10 2020

wmi committed rG4cd8e9b169f4: [SampleFDO] Stop letting findCalleeFunctionSamples return unrelated profiles (authored by wmi).
[SampleFDO] Stop letting findCalleeFunctionSamples return unrelated profiles
Aug 10 2020, 12:42 PM
wmi closed D85664: [SampleFDO] Stop letting findCalleeFunctionSamples return unrelated profiles for invoke instructions .
Aug 10 2020, 12:42 PM · Restricted Project
wmi added inline comments to D85664: [SampleFDO] Stop letting findCalleeFunctionSamples return unrelated profiles for invoke instructions .
Aug 10 2020, 10:50 AM · Restricted Project
wmi added inline comments to D85664: [SampleFDO] Stop letting findCalleeFunctionSamples return unrelated profiles for invoke instructions .
Aug 10 2020, 10:28 AM · Restricted Project
wmi requested review of D85664: [SampleFDO] Stop letting findCalleeFunctionSamples return unrelated profiles for invoke instructions .
Aug 10 2020, 10:02 AM · Restricted Project

Aug 1 2020

wmi accepted D83852: [llvm-profdata] Implement llvm-profdata overlap for sample profiles.

Thanks. Another suggestion about comment. Other than that, LGTM.

Aug 1 2020, 10:14 AM · Restricted Project

Jul 31 2020

wmi accepted D84997: [AutoFDO] Avoid merging inlinee samples multiple times.

LGTM. Thanks.

Jul 31 2020, 9:02 AM · Restricted Project

Jul 30 2020

wmi added a comment to D84997: [AutoFDO] Avoid merging inlinee samples multiple times.

I see. Thanks for the explanation.

Jul 30 2020, 10:01 PM · Restricted Project
wmi added a comment to D84994: [SampleFDO] Fix a crash when the sample profile uses md5 and -sample-profile-merge-inlinee is enabled.

Commit the fix for the second problem in D84997 together with the assertion and testcase in this patch, so D84997 can be dedicated to solve the other problem.

Jul 30 2020, 9:27 PM · Restricted Project
wmi committed rG836991d3676f: Fix a crash when the sample profile uses md5 and -sample-profile-merge-inlinee (authored by wmi).
Fix a crash when the sample profile uses md5 and -sample-profile-merge-inlinee
Jul 30 2020, 9:21 PM
wmi closed D84994: [SampleFDO] Fix a crash when the sample profile uses md5 and -sample-profile-merge-inlinee is enabled.
Jul 30 2020, 9:21 PM · Restricted Project
wmi added a comment to D84997: [AutoFDO] Avoid merging inlinee samples multiple times.

The multiple inline instance copies generated from loop unrolling or jump threading should have their own FunctionSamples objects. Why merging multiple inline instance to the outline profile will trigger assertion? Could you have a testcase for it?

It's a slightly difference case. In the training build, we didn't unroll, so there's a single inline site in the loop, but in the PGO optimizing build, the loop got unrolled with call site duplicated. And the duplicated call sites all point to the same FunctionSamples, in which case we should merge them only once. Agree that we should add a test case.

Jul 30 2020, 9:06 PM · Restricted Project
wmi added a comment to D84997: [AutoFDO] Avoid merging inlinee samples multiple times.
In D84997#2186522, @wmi wrote:

Yes, the fix in D84997 is more concise. Here I use a straightforward fix. It is ok for Hongtao to commit D84997, but just add a testcase (free to use the one here).

Jul 30 2020, 8:28 PM · Restricted Project
wmi added a comment to D84994: [SampleFDO] Fix a crash when the sample profile uses md5 and -sample-profile-merge-inlinee is enabled.

Yes, the fix in D84997 is more concise. Here I use a straightforward fix. It is ok for Hongtao to commit D84997, but just add a testcase (free to use the one here).

Jul 30 2020, 8:26 PM · Restricted Project
wmi added a comment to D84997: [AutoFDO] Avoid merging inlinee samples multiple times.

Yes, the fix in D84997 is more concise. Here I use a straightforward fix. It is ok for Hongtao to commit D84997, but just add a testcase (free to use the one here).

Jul 30 2020, 8:25 PM · Restricted Project
wmi added a comment to D84997: [AutoFDO] Avoid merging inlinee samples multiple times.

The multiple inline instance copies generated from loop unrolling or jump threading should have their own FunctionSamples objects. Why merging multiple inline instance to the outline profile will trigger assertion? Could you have a testcase for it?

Jul 30 2020, 8:22 PM · Restricted Project
wmi requested review of D84994: [SampleFDO] Fix a crash when the sample profile uses md5 and -sample-profile-merge-inlinee is enabled.
Jul 30 2020, 5:56 PM · Restricted Project

Jul 27 2020

wmi committed rGa23f62343cb7: Supplement instr profile with sample profile. (authored by wmi).
Supplement instr profile with sample profile.
Jul 27 2020, 9:24 PM
wmi closed D81981: [PGO] Supplement PGO profile with Sample profile.
Jul 27 2020, 9:23 PM · Restricted Project
wmi added inline comments to D81981: [PGO] Supplement PGO profile with Sample profile.
Jul 27 2020, 10:09 AM · Restricted Project

Jul 25 2020

wmi added a comment to D83852: [llvm-profdata] Implement llvm-profdata overlap for sample profiles.

Thanks for the work. It is a very useful feature.

Jul 25 2020, 11:39 AM · Restricted Project

Jul 24 2020

wmi updated the diff for D81981: [PGO] Supplement PGO profile with Sample profile.

Address David's comments.

Jul 24 2020, 4:53 PM · Restricted Project

Jul 22 2020

wmi added inline comments to D81981: [PGO] Supplement PGO profile with Sample profile.
Jul 22 2020, 2:42 PM · Restricted Project

Jul 21 2020

wmi updated the diff for D81981: [PGO] Supplement PGO profile with Sample profile.

Address David's comment

Jul 21 2020, 10:50 AM · Restricted Project

Jul 17 2020

wmi added a comment to D81981: [PGO] Supplement PGO profile with Sample profile.

I think this feature should be decoupled from the version change -- since this is an approximate anyway. One way to do this is to use max count or total count as a reference point and compute the scale factor.

Jul 17 2020, 10:25 AM · Restricted Project

Jul 16 2020

wmi added a comment to D81981: [PGO] Supplement PGO profile with Sample profile.

I also plan to dump the functions cold in instr profile and hot in sample profile, and sort the output according to hotness in sample profile. That can be used to guide PGO users if they want to improve the representativeness of their loadtest. I leave that part in a separate patch for easier review.

Jul 16 2020, 2:46 PM · Restricted Project
wmi accepted D83743: [InlineAdvisor] New inliner advisor to replay inlining from optimization remarks.

LGTM. Better wait another day to see if other reviewers have further comments.

Jul 16 2020, 12:07 PM · Restricted Project
wmi added inline comments to D83743: [InlineAdvisor] New inliner advisor to replay inlining from optimization remarks.
Jul 16 2020, 10:46 AM · Restricted Project

Jul 15 2020

wmi added a comment to D83743: [InlineAdvisor] New inliner advisor to replay inlining from optimization remarks.

Thanks for the explanation.

Jul 15 2020, 8:55 AM · Restricted Project

Jul 14 2020

wmi added a comment to D83743: [InlineAdvisor] New inliner advisor to replay inlining from optimization remarks.

Can this be extended to the SCC inliner?

Yes, we can use it in SCC inliner as well. We just need extra plumbing there. We can do that in a separate change if needed.

Jul 14 2020, 11:02 AM · Restricted Project

Jul 10 2020

wmi updated the diff for D81981: [PGO] Supplement PGO profile with Sample profile.

Address David's comments.

Jul 10 2020, 7:20 PM · Restricted Project
wmi added inline comments to D81981: [PGO] Supplement PGO profile with Sample profile.
Jul 10 2020, 7:20 PM · Restricted Project

Jul 9 2020

wmi committed rGe296e9dfd6ce: [NFC] Change getEntryForPercentile to be a static function in… (authored by wmi).
[NFC] Change getEntryForPercentile to be a static function in…
Jul 9 2020, 4:57 PM
wmi closed D83439: [NFC] Change getEntryForPercentile to be a static function in ProfileSummaryBuilder.
Jul 9 2020, 4:57 PM · Restricted Project
wmi committed rG78fe6a3ee244: [NFC] Extract the code to write instr profile into function writeInstrProfile (authored by wmi).
[NFC] Extract the code to write instr profile into function writeInstrProfile
Jul 9 2020, 4:31 PM
wmi closed D83521: [NFC] Extract the code to write instr profile into function writeInstrProfile.
Jul 9 2020, 4:30 PM · Restricted Project
Herald added a project to D83521: [NFC] Extract the code to write instr profile into function writeInstrProfile: Restricted Project.
Jul 9 2020, 4:22 PM · Restricted Project
wmi added a comment to D79978: Call Frame Information (CFI) Handling for Basic Block Sections.
In D79978#2141768, @wmi wrote:

I haven't looked into the details, but the test suggests that the patch is wrong:

# basic-block-sections-cfi-1.ll
        .section        .text,"ax",@progbits,unique,2
_Z2f3b.2:                               # %if.end
        .cfi_startproc
        .cfi_def_cfa %rbp, 16    # this should be inserted after addq $16, %rsp
        .cfi_offset %rbp, -16    # this should be after .cfi_def_cfa %rbp, 16
        addq    $16, %rsp
        popq    %rbp
        .cfi_def_cfa %rsp, 8
        retq

I think the position where the cfi directives are currently inserted is correct. Those directives at the beginning of BB are not to maintain call frame information for instructions inside of BB like "addq $16, %rsp" and "popq %rbp", but to setup the call frame information correctly at the beginning of BB because the BB could be moved around.

Ack. Then what instructions should be placed at the top of these basic blocks? Should .cfi_def_cfa_register %rbp be placed as well? If you move these basic blocks around, .cfi_def_cfa_register %rbp is currently not tracked.

Jul 9 2020, 9:28 AM · Restricted Project
wmi added a comment to D79978: Call Frame Information (CFI) Handling for Basic Block Sections.

I haven't looked into the details, but the test suggests that the patch is wrong:

# basic-block-sections-cfi-1.ll
        .section        .text,"ax",@progbits,unique,2
_Z2f3b.2:                               # %if.end
        .cfi_startproc
        .cfi_def_cfa %rbp, 16    # this should be inserted after addq $16, %rsp
        .cfi_offset %rbp, -16    # this should be after .cfi_def_cfa %rbp, 16
        addq    $16, %rsp
        popq    %rbp
        .cfi_def_cfa %rsp, 8
        retq
Jul 9 2020, 7:58 AM · Restricted Project

Jul 8 2020

wmi updated the diff for D81981: [PGO] Supplement PGO profile with Sample profile.

Fix a wrong flag name in test.

Jul 8 2020, 3:54 PM · Restricted Project
wmi updated the diff for D81981: [PGO] Supplement PGO profile with Sample profile.

Address David's comment.
Adjust comments, function names and flag names.

Jul 8 2020, 3:46 PM · Restricted Project
wmi added a comment to D81981: [PGO] Supplement PGO profile with Sample profile.

refactor GetEntryForPercentile out in https://reviews.llvm.org/D83439

Jul 8 2020, 3:34 PM · Restricted Project
Herald added a project to D83439: [NFC] Change getEntryForPercentile to be a static function in ProfileSummaryBuilder: Restricted Project.
Jul 8 2020, 3:27 PM · Restricted Project
wmi added a comment to D81981: [PGO] Supplement PGO profile with Sample profile.

https://reviews.llvm.org/D82123 to always instrument function entry BB has been committed guarded by a flag. https://reviews.llvm.org/D83024 to enable the flag by default is under review.

Jul 8 2020, 9:49 AM · Restricted Project
wmi committed rGe32469a14037: [SampleFDO] Enable sample-profile-top-down-load and sample-profile-merge… (authored by wmi).
[SampleFDO] Enable sample-profile-top-down-load and sample-profile-merge…
Jul 8 2020, 9:24 AM
wmi closed D82919: [SampleFDO] Enable sample-profile-top-down-load by default..
Jul 8 2020, 9:24 AM · Restricted Project

Jul 7 2020

wmi accepted D79978: Call Frame Information (CFI) Handling for Basic Block Sections.

Thanks. LGTM. Please wait and see if David has more comments.

Jul 7 2020, 9:54 PM · Restricted Project
wmi added inline comments to D79978: Call Frame Information (CFI) Handling for Basic Block Sections.
Jul 7 2020, 8:54 AM · Restricted Project

Jul 6 2020

wmi updated the diff for D82919: [SampleFDO] Enable sample-profile-top-down-load by default..

Disable sample-profile-merge-inlinee when sample-profile-top-down-load is not effective (Currently sample-profile-top-down-load is only effective for new pass manager).

Jul 6 2020, 5:36 PM · Restricted Project
wmi added a comment to D82919: [SampleFDO] Enable sample-profile-top-down-load by default..

I tested the performance with sample-profile-top-down-load and sample-profile-merge-inlinee both enabled. In different compiler versions I got different result. In one version about three weeks older, I got 0.4% improvement for one benchmark steadily in multiple runs and neutral for another. In the head llvm version, I saw neutral result for both benchmarks.

Jul 6 2020, 2:54 PM · Restricted Project
wmi updated the diff for D82919: [SampleFDO] Enable sample-profile-top-down-load by default..

Enable -sample-profile-merge-inlinee by default together with -sample-profile-top-down-load.

Jul 6 2020, 2:45 PM · Restricted Project
wmi added a comment to D83024: [PGO] Instrument function entry BB by default in IR PGO.

Here version is overloaded with different meanings: 1) to indicate format change; 2) to indicate instrumentation compiler version that is capable of producing this format. These two purposes can be contradicting to each other as the user can use option to force the old format with the new compiler.

Jul 6 2020, 9:21 AM · Restricted Project

Jun 30 2020

wmi added a comment to D82919: [SampleFDO] Enable sample-profile-top-down-load by default..

Sounds good to me. I will redo the performance test for it.

Jun 30 2020, 5:23 PM · Restricted Project
wmi created D82919: [SampleFDO] Enable sample-profile-top-down-load by default..
Jun 30 2020, 3:46 PM · Restricted Project

Jun 29 2020

wmi abandoned D82834: [clang] Move a template function definition to header file.

Thanks David!

Jun 29 2020, 10:00 PM
wmi created D82834: [clang] Move a template function definition to header file.
Jun 29 2020, 8:56 PM

Jun 25 2020

wmi updated the diff for D81981: [PGO] Supplement PGO profile with Sample profile.

Remove the compiler part since that part will be done in https://reviews.llvm.org/D82123.

Jun 25 2020, 4:56 PM · Restricted Project

Jun 21 2020

wmi added a comment to D82123: [PGO] Add a functionality to always instrument the func entry BB.

I tried it on an internal benchmark.

Jun 21 2020, 10:45 PM · Restricted Project

Jun 19 2020

wmi accepted D81800: Add --hot-func-list to llvm-profdata show for sample profiles.

LGTM. Thanks.

Jun 19 2020, 10:54 AM · Restricted Project

Jun 18 2020

wmi added a comment to D82123: [PGO] Add a functionality to always instrument the func entry BB.

Thanks for the patch! I guess atomic update is to reduce the cost of the entry counter for application with many threads. How much difference there is w/wo enabling -atomic-first-counter?

Jun 18 2020, 3:21 PM · Restricted Project

Jun 17 2020

wmi added a comment to D81981: [PGO] Supplement PGO profile with Sample profile.

The index format needs to be backward compatible, so there needs to be some version specific handling there (can be removed later).

Jun 17 2020, 7:58 PM · Restricted Project
wmi added a comment to D81981: [PGO] Supplement PGO profile with Sample profile.

If how we select BB to instrument depends on a switch, we would need instrumentation build and optimizing build to have consistent switch, otherwise counters could mismatch even if CFG checksum matches? I guess that's one reason why it'd be good to avoid different ways of selecting BBs.

Jun 17 2020, 7:26 PM · Restricted Project
wmi added a comment to D81981: [PGO] Supplement PGO profile with Sample profile.

Why is the profile size increase? I expect the number of instrumented blocks remain mostly unchanged.

The reason for the question is that if the overhead is low, I think we should make the default to be true.

Jun 17 2020, 4:44 PM · Restricted Project
wmi added a comment to D81981: [PGO] Supplement PGO profile with Sample profile.

I think it is good to have an entry counter always, so that the profile dump is more readable. Do you have data showing the instrumentation overhead and profile size impact (clang and some large app)?

Jun 17 2020, 3:06 PM · Restricted Project

Jun 16 2020

wmi created D81981: [PGO] Supplement PGO profile with Sample profile.
Jun 16 2020, 5:01 PM · Restricted Project

Jun 15 2020

wmi added inline comments to D81800: Add --hot-func-list to llvm-profdata show for sample profiles.
Jun 15 2020, 5:08 PM · Restricted Project
wmi added a comment to D81800: Add --hot-func-list to llvm-profdata show for sample profiles.

Thanks for adding the feature.

Jun 15 2020, 10:23 AM · Restricted Project

Jun 11 2020

wmi accepted D80589: [NewPM] Avoid redundant CGSCC run for updated SCC.

Based on my limited knowledge of new pass manager, this change looks good. Please wait another day or two before commit in case Chandler has some comment.

Jun 11 2020, 5:05 PM · Restricted Project

Jun 4 2020

wmi accepted D81202: Fix the roundtrip test under llvm-profdata.

Thanks for catching the mistake!

Jun 4 2020, 5:41 PM · Restricted Project

Jun 2 2020

wmi committed rG7a6c89427c9b: [SampleFDO] Add use-sample-profile function attribute. (authored by wmi).
[SampleFDO] Add use-sample-profile function attribute.
Jun 2 2020, 6:08 PM
wmi closed D79959: [SampleFDO] Add use-sample-profile function attribute .
Jun 2 2020, 6:08 PM · Restricted Project, Restricted Project