Page MenuHomePhabricator

wmi (Wei Mi)
User

Projects

User does not belong to any projects.

User Details

User Since
Feb 20 2015, 10:57 AM (212 w, 3 d)

Recent Activity

Mon, Mar 11

wmi accepted D58832: [SampleFDO] add suffix elision control for fcn names.

LGTM. Thanks for working on it!

Mon, Mar 11, 2:34 PM · Restricted Project
wmi added inline comments to D58832: [SampleFDO] add suffix elision control for fcn names.
Mon, Mar 11, 11:56 AM · Restricted Project

Fri, Mar 8

wmi added a comment to D58832: [SampleFDO] add suffix elision control for fcn names.
In D58832#1422205, @wmi wrote:

We need function attribute only when we want to use different strategies for different functions. Do we need the function granularity control over the suffix elision policy?

We want to be able to eventually support ThinLTO in which you have a mix of C and Go functions (it is fairly common for Go programs to call out into C code). Without such a change we'd have to pick one policy or another and hope that it works for code generated by every front end.

Fri, Mar 8, 4:16 PM · Restricted Project
wmi added inline comments to D59143: [RegisterCoalescer] Limit the number of joins for large live interval with many valnos. .
Fri, Mar 8, 3:34 PM · Restricted Project
wmi committed rG98214347c4ac: Rename a local variable counter to Counter. (authored by wmi).
Rename a local variable counter to Counter.
Fri, Mar 8, 3:32 PM
wmi committed rL355759: Rename a local variable counter to Counter..
Rename a local variable counter to Counter.
Fri, Mar 8, 3:32 PM
wmi committed rGfb9693d1c9cc: [RegisterCoalescer][NFC] bind a DenseMap access to a reference to avoid… (authored by wmi).
[RegisterCoalescer][NFC] bind a DenseMap access to a reference to avoid…
Fri, Mar 8, 3:29 PM
wmi committed rL355757: [RegisterCoalescer][NFC] bind a DenseMap access to a reference to avoid.
[RegisterCoalescer][NFC] bind a DenseMap access to a reference to avoid
Fri, Mar 8, 3:29 PM
wmi committed rG72ec6801b5b2: [RegisterCoalescer] Limit the number of joins for large live interval with many… (authored by wmi).
[RegisterCoalescer] Limit the number of joins for large live interval with many…
Fri, Mar 8, 11:27 AM
wmi committed rL355714: [RegisterCoalescer] Limit the number of joins for large live interval with.
[RegisterCoalescer] Limit the number of joins for large live interval with
Fri, Mar 8, 11:25 AM
wmi closed D59143: [RegisterCoalescer] Limit the number of joins for large live interval with many valnos. .
Fri, Mar 8, 11:25 AM · Restricted Project
wmi added a comment to D59143: [RegisterCoalescer] Limit the number of joins for large live interval with many valnos. .

Thanks for the fast response!

Fri, Mar 8, 10:46 AM · Restricted Project
wmi created D59143: [RegisterCoalescer] Limit the number of joins for large live interval with many valnos. .
Fri, Mar 8, 10:32 AM · Restricted Project

Thu, Mar 7

wmi added a comment to D58832: [SampleFDO] add suffix elision control for fcn names.

We need function attribute only when we want to use different strategies for different functions. Do we need the function granularity control over the suffix elision policy?

Thu, Mar 7, 3:27 PM · Restricted Project

Thu, Feb 28

wmi accepted D58589: [ConstantHoisting] Call cleanup() in ConstantHoistingPass::runImpl to avoid dangling elements in ConstIntInfoVec for new PM.

LGTM

Thu, Feb 28, 9:23 PM · Restricted Project

Wed, Feb 27

wmi added inline comments to D58589: [ConstantHoisting] Call cleanup() in ConstantHoistingPass::runImpl to avoid dangling elements in ConstIntInfoVec for new PM.
Wed, Feb 27, 2:51 PM · Restricted Project

Wed, Feb 20

wmi committed rG500606f270ff: [Inliner] Pass nullptr for the ORE param of getInlineCost if RemarkEnabled is… (authored by wmi).
[Inliner] Pass nullptr for the ORE param of getInlineCost if RemarkEnabled is…
Wed, Feb 20, 6:59 PM
wmi committed rL354542: [Inliner] Pass nullptr for the ORE param of getInlineCost if RemarkEnabled.
[Inliner] Pass nullptr for the ORE param of getInlineCost if RemarkEnabled
Wed, Feb 20, 6:58 PM
wmi closed D58399: [Inliner] Don't initialize ComputeFullInlineCost to be always true because of ORE.
Wed, Feb 20, 6:58 PM · Restricted Project
wmi added a comment to D58399: [Inliner] Don't initialize ComputeFullInlineCost to be always true because of ORE.

Thanks for the review!

Wed, Feb 20, 6:45 PM · Restricted Project

Tue, Feb 19

wmi updated the diff for D58399: [Inliner] Don't initialize ComputeFullInlineCost to be always true because of ORE.

Add a TODO comment.

Tue, Feb 19, 6:44 PM · Restricted Project
wmi updated the diff for D58399: [Inliner] Don't initialize ComputeFullInlineCost to be always true because of ORE.

Address Chandler's comment.

Tue, Feb 19, 6:39 PM · Restricted Project
wmi added inline comments to D58399: [Inliner] Don't initialize ComputeFullInlineCost to be always true because of ORE.
Tue, Feb 19, 6:38 PM · Restricted Project
wmi updated the diff for D58399: [Inliner] Don't initialize ComputeFullInlineCost to be always true because of ORE.

Address Easwaran and Chandler's comments.

Tue, Feb 19, 4:26 PM · Restricted Project
wmi added inline comments to D58399: [Inliner] Don't initialize ComputeFullInlineCost to be always true because of ORE.
Tue, Feb 19, 4:18 PM · Restricted Project
wmi added inline comments to D58399: [Inliner] Don't initialize ComputeFullInlineCost to be always true because of ORE.
Tue, Feb 19, 3:44 PM · Restricted Project
wmi updated the diff for D58399: [Inliner] Don't initialize ComputeFullInlineCost to be always true because of ORE.

Address Easwaran and Chandler's comments.

Tue, Feb 19, 3:22 PM · Restricted Project
wmi added a comment to D58399: [Inliner] Don't initialize ComputeFullInlineCost to be always true because of ORE.

One option is to call DiagnosticHandler::isMissedOptRemarkEnabled in Inliner and pass the result (bool) when creating the CallAnalyzer object. This can be ORed with whether the missed opt remark is enabled for inline-cost.

Tue, Feb 19, 3:20 PM · Restricted Project
wmi added inline comments to D58399: [Inliner] Don't initialize ComputeFullInlineCost to be always true because of ORE.
Tue, Feb 19, 12:35 PM · Restricted Project
wmi created D58399: [Inliner] Don't initialize ComputeFullInlineCost to be always true because of ORE.
Tue, Feb 19, 11:26 AM · Restricted Project

Feb 11 2019

wmi accepted D58064: [ThinLTO] Record in index whether IR used a flattened sample PGO profile.

LGTM.

Feb 11 2019, 1:35 PM · Restricted Project

Feb 7 2019

wmi edited reviewers for D57929: [InstrProf] Implement static profdata registration, added: xur; removed: wmi.
Feb 7 2019, 3:48 PM · Restricted Project, Restricted Project

Feb 4 2019

wmi committed rG4901f371a280: [SamplePGO][NFC] Minor improvement to replace a temporary vector with a brace… (authored by wmi).
[SamplePGO][NFC] Minor improvement to replace a temporary vector with a brace…
Feb 4 2019, 4:58 PM
wmi committed rL353129: [SamplePGO][NFC] Minor improvement to replace a temporary vector with a.
[SamplePGO][NFC] Minor improvement to replace a temporary vector with a
Feb 4 2019, 4:57 PM
wmi closed D57726: [SamplePGO][NFC] Minor improvement to replace a temporary vector with a brace-enclosed init list.
Feb 4 2019, 4:57 PM · Restricted Project
wmi created D57726: [SamplePGO][NFC] Minor improvement to replace a temporary vector with a brace-enclosed init list.
Feb 4 2019, 4:52 PM · Restricted Project
wmi added a comment to D57706: [SamplePGO] Minor efficiency improvement in samplePGO ICP.

LGTM. There is such place in SampleProfileLoader pass. I will do the same for it.

Feb 4 2019, 4:29 PM · Restricted Project
wmi accepted D57705: [SamplePGO] More pipeline changes when flattened profile used in ThinLTO postlink.

LGTM.

Feb 4 2019, 4:16 PM · Restricted Project

Jan 23 2019

wmi accepted D52845: Update entry count for cold calls.

Sorry it takes me some time to test the change on our major benchmarks. The results are neutral.

Jan 23 2019, 2:08 PM

Jan 17 2019

wmi committed rL351476: [SampleFDO] Skip profile reading when flattened profile used in ThinLTO postlink.
[SampleFDO] Skip profile reading when flattened profile used in ThinLTO postlink
Jan 17 2019, 12:52 PM
wmi closed D54819: [SampleFDO] Skip profile reading when flatten profile is used in ThinLTO postlink phase.
Jan 17 2019, 12:52 PM
wmi updated the diff for D54819: [SampleFDO] Skip profile reading when flatten profile is used in ThinLTO postlink phase.

Address Teresa's comments.

Jan 17 2019, 9:31 AM

Jan 16 2019

wmi committed rL351397: Fix a mistake in rL351392..
Fix a mistake in rL351392.
Jan 16 2019, 3:35 PM
wmi committed rL351392: [PGO] Make pgo related options in opt more consistent..
[PGO] Make pgo related options in opt more consistent.
Jan 16 2019, 3:23 PM
wmi closed D56749: [NFC] Make pgo related options in opt more consistent. .
Jan 16 2019, 3:22 PM
wmi added inline comments to D56749: [NFC] Make pgo related options in opt more consistent. .
Jan 16 2019, 3:22 PM

Jan 15 2019

wmi created D56749: [NFC] Make pgo related options in opt more consistent. .
Jan 15 2019, 3:23 PM
wmi added inline comments to D54819: [SampleFDO] Skip profile reading when flatten profile is used in ThinLTO postlink phase.
Jan 15 2019, 2:52 PM
wmi added inline comments to D52845: Update entry count for cold calls.
Jan 15 2019, 10:28 AM
wmi accepted D56491: treat invoke like call.

LGTM.

Jan 15 2019, 9:48 AM
wmi accepted D56435: We can improve the performance (generally) by memo-izing the action to map a debug location to its function summary..

LGTM.

Jan 15 2019, 9:13 AM

Jan 14 2019

wmi added inline comments to D52845: Update entry count for cold calls.
Jan 14 2019, 4:28 PM
wmi added inline comments to D52845: Update entry count for cold calls.
Jan 14 2019, 12:12 PM
wmi added a comment to D56435: We can improve the performance (generally) by memo-izing the action to map a debug location to its function summary..

Seems the compile time saving is got mainly because there are multiple instructions sharing the same debug location, is my understanding correct?

Seems incorrect. findFunctionSamples may be called for the same instruction multiple times due to multiple iterations of hot functions inlining or profile propagation.

Jan 14 2019, 11:58 AM
wmi accepted D55094: Ignore PhiNodes when mapping sample profile data.

LGTM.

Jan 14 2019, 10:19 AM
wmi added a comment to D56491: treat invoke like call.

Could you have a testcase for it?

Jan 14 2019, 10:10 AM
wmi added a comment to D56435: We can improve the performance (generally) by memo-izing the action to map a debug location to its function summary..

Seems the compile time saving is got mainly because there are multiple instructions sharing the same debug location, is my understanding correct?

Jan 14 2019, 9:18 AM

Jan 11 2019

wmi updated the diff for D54819: [SampleFDO] Skip profile reading when flatten profile is used in ThinLTO postlink phase.

Address Teresa's comments.

Jan 11 2019, 6:46 PM
wmi added a comment to D54819: [SampleFDO] Skip profile reading when flatten profile is used in ThinLTO postlink phase.

Yes, the support is also helpful for old pass manager. Add some code to make it easier to enable sampleprofileloader pass in the pipeline of old pass manager through opt, mainly for testing purpose.

Jan 11 2019, 6:44 PM

Jan 7 2019

wmi committed rL350586: [RegisterCoalescer] dst register's live interval needs to be updated when.
[RegisterCoalescer] dst register's live interval needs to be updated when
Jan 7 2019, 4:30 PM
wmi closed D55867: [RegisterCoalescer] dst register's live interval needs to be updated when merging a src register in ToBeUpdated set.
Jan 7 2019, 4:30 PM
wmi added a comment to D55867: [RegisterCoalescer] dst register's live interval needs to be updated when merging a src register in ToBeUpdated set.

friendly ping. Please take another look.

Jan 7 2019, 12:35 PM

Jan 2 2019

wmi committed rL350223: [PowerPC] Remove SeenUse check when optimizing conditional branch in.
[PowerPC] Remove SeenUse check when optimizing conditional branch in
Jan 2 2019, 9:11 AM
wmi closed D56041: [PowerPC] Fix a bug when optimizing conditional branch in PPCPreEmitPeephole pass.
Jan 2 2019, 9:10 AM

Dec 21 2018

wmi created D56041: [PowerPC] Fix a bug when optimizing conditional branch in PPCPreEmitPeephole pass.
Dec 21 2018, 5:25 PM
wmi added inline comments to D55867: [RegisterCoalescer] dst register's live interval needs to be updated when merging a src register in ToBeUpdated set.
Dec 21 2018, 11:36 AM
wmi updated the diff for D55867: [RegisterCoalescer] dst register's live interval needs to be updated when merging a src register in ToBeUpdated set.

Address Quentin's comment.

Dec 21 2018, 11:34 AM

Dec 18 2018

wmi updated the diff for D55867: [RegisterCoalescer] dst register's live interval needs to be updated when merging a src register in ToBeUpdated set.

A minor update to the comment.

Dec 18 2018, 4:53 PM
wmi created D55867: [RegisterCoalescer] dst register's live interval needs to be updated when merging a src register in ToBeUpdated set.
Dec 18 2018, 4:39 PM

Dec 17 2018

wmi added a comment to D55681: [llvm] API for encoding/decoding DWARF discriminators..

LGTM from my limited knowledge on discriminator. I added dblaikie to help on the review.

Dec 17 2018, 11:22 AM
wmi added a reviewer for D55681: [llvm] API for encoding/decoding DWARF discriminators.: dblaikie.
Dec 17 2018, 9:38 AM

Dec 13 2018

wmi committed rL349088: [SampleFDO] handle ProfileSampleAccurate when initializing function entry count.
[SampleFDO] handle ProfileSampleAccurate when initializing function entry count
Dec 13 2018, 1:55 PM
wmi closed D55660: [SampleFDO] handle ProfileSampleAccurate when initializing function entry count.
Dec 13 2018, 1:54 PM
wmi updated the diff for D55660: [SampleFDO] handle ProfileSampleAccurate when initializing function entry count.

Fix test/Transforms/SampleProfile/inline-cold-callsite-samplepgo.ll which was over simplified in the last revision.

Dec 13 2018, 11:27 AM
wmi updated the diff for D55660: [SampleFDO] handle ProfileSampleAccurate when initializing function entry count.

Address Easwaran and Teresa's comments.

Dec 13 2018, 11:16 AM
wmi added a comment to D55660: [SampleFDO] handle ProfileSampleAccurate when initializing function entry count.

Could you add a test case or augment an existing test to check that the function entry count is 0 if -sample-profile and -profile-sample-accurate is specified?

Dec 13 2018, 11:14 AM
wmi created D55660: [SampleFDO] handle ProfileSampleAccurate when initializing function entry count.
Dec 13 2018, 9:35 AM
wmi added a comment to D55567: [SampleFDO] Extend profile-sample-accurate option to cover isFunctionColdInCallGraph.

Thanks to Easwaran who gave me a good suggestion offline to improve the patch. We can initialize function entry count to 0 when ProfileSampleAccurate is specified. That could save the effort to handle ProfileSampleAccurate in multiple places. I will post the updated patch in a separate review thread.

Dec 13 2018, 9:23 AM

Dec 12 2018

wmi committed rL348940: [SampleFDO] Extend profile-sample-accurate option to cover….
[SampleFDO] Extend profile-sample-accurate option to cover…
Dec 12 2018, 9:14 AM
wmi closed D55567: [SampleFDO] Extend profile-sample-accurate option to cover isFunctionColdInCallGraph.
Dec 12 2018, 9:14 AM
wmi updated the diff for D55567: [SampleFDO] Extend profile-sample-accurate option to cover isFunctionColdInCallGraph.

Address Teresa's comment.

Dec 12 2018, 8:50 AM
wmi added inline comments to D55567: [SampleFDO] Extend profile-sample-accurate option to cover isFunctionColdInCallGraph.
Dec 12 2018, 8:50 AM

Dec 11 2018

wmi created D55567: [SampleFDO] Extend profile-sample-accurate option to cover isFunctionColdInCallGraph.
Dec 11 2018, 11:58 AM

Nov 29 2018

wmi accepted D55088: Revert "Revert r347596 "Support for inserting profile-directed cache prefetches"".

LGTM.

Nov 29 2018, 5:02 PM

Nov 21 2018

wmi created D54819: [SampleFDO] Skip profile reading when flatten profile is used in ThinLTO postlink phase.
Nov 21 2018, 4:14 PM

Nov 9 2018

wmi accepted D54052: Support for inserting profile-directed cache prefetches.
Nov 9 2018, 4:20 PM

Nov 8 2018

wmi added a comment to D54052: Support for inserting profile-directed cache prefetches.

LGTM.

Nov 8 2018, 10:53 AM

Nov 7 2018

wmi added inline comments to D54052: Support for inserting profile-directed cache prefetches.
Nov 7 2018, 9:25 AM

Nov 5 2018

wmi added inline comments to D54052: Support for inserting profile-directed cache prefetches.
Nov 5 2018, 9:18 AM

Oct 23 2018

wmi committed rL345103: [PM] keeping history when original SCC split and then merge into itself.
[PM] keeping history when original SCC split and then merge into itself
Oct 23 2018, 4:32 PM
wmi closed D52915: [PM] keeping history when original SCC split and then merge into itself in the same round of SCC update ..
Oct 23 2018, 4:32 PM
wmi added a comment to D52915: [PM] keeping history when original SCC split and then merge into itself in the same round of SCC update ..

Thanks for the review!

Oct 23 2018, 4:06 PM
wmi added a comment to D52915: [PM] keeping history when original SCC split and then merge into itself in the same round of SCC update ..

Ping.

Oct 23 2018, 8:52 AM

Oct 16 2018

wmi accepted D53337: [ThinLTO] Add importing stats to thin link.
Oct 16 2018, 4:47 PM
wmi added a comment to D52915: [PM] keeping history when original SCC split and then merge into itself in the same round of SCC update ..

Chandler, could you take another look? Although like the testcase monster_scc.ll shows, current solution using inline history for SCC could reduce the inlining in a SCC, it didn't show up as a problem in performance testing, so can we use the solution for now to unblock the infinite compilation issue until we get a better idea for how to keep the inline history?

Oct 16 2018, 11:00 AM

Oct 15 2018

wmi updated the diff for D52915: [PM] keeping history when original SCC split and then merge into itself in the same round of SCC update ..

update testcase monster_scc.ll. With the patch, less inlining is happening for monster_scc.ll because we block the inlining inside of the same function in the same SCC from happening more than once.

Oct 15 2018, 9:22 AM

Oct 13 2018

wmi added a comment to D52845: Update entry count for cold calls.

This was intended to balance the function updateCalleeCount in InlineFunction.cpp which simply decrements the entry count.

Oct 13 2018, 9:42 PM

Oct 12 2018

wmi added a comment to D52845: Update entry count for cold calls.

Sorry for the late reply. I didn't notice the thread.

Oct 12 2018, 4:52 PM

Oct 11 2018

wmi committed rL344304: [SampleFDO][NFC] Remove debugging log left over in the code..
[SampleFDO][NFC] Remove debugging log left over in the code.
Oct 11 2018, 3:16 PM

Oct 10 2018

wmi updated the diff for D52915: [PM] keeping history when original SCC split and then merge into itself in the same round of SCC update ..

Address Chandler's comments.

Oct 10 2018, 9:59 PM