Page MenuHomePhabricator

wmi (Wei Mi)
User

Projects

User does not belong to any projects.

User Details

User Since
Feb 20 2015, 10:57 AM (266 w, 4 d)

Recent Activity

Today

wmi added a comment to D74303: [CFI] cfi directive insertion for callee-save-registers in CFIInstrInserter pass.

Friendly ping. Because the fix for the patch contains some substantial change so I want it to be reviewed before I recommit the patch. Thanks in advance!

Tue, Mar 31, 11:58 AM · Restricted Project
wmi added a comment to rG159343cd1965: Fix missing override.

Thanks Guillaume for the fix!

Tue, Mar 31, 7:44 AM

Yesterday

wmi committed rGebad678857a9: [SampleFDO] Port MD5 name table support to extbinary format. (authored by wmi).
[SampleFDO] Port MD5 name table support to extbinary format.
Mon, Mar 30, 10:23 PM
wmi closed D76255: [SampleFDO] Port MD5 name table support to extbinary format..
Mon, Mar 30, 10:22 PM · Restricted Project
wmi added inline comments to D73307: Unique Names for Functions with Internal Linkage.
Mon, Mar 30, 6:02 PM

Fri, Mar 27

wmi updated the diff for D76255: [SampleFDO] Port MD5 name table support to extbinary format..

Address David and Wenlei's comments.

Fri, Mar 27, 9:28 PM · Restricted Project
wmi added inline comments to D76255: [SampleFDO] Port MD5 name table support to extbinary format..
Fri, Mar 27, 8:55 PM · Restricted Project

Tue, Mar 24

wmi reopened D74303: [CFI] cfi directive insertion for callee-save-registers in CFIInstrInserter pass.

reopen it for the review of the patch to be recommitted.

Tue, Mar 24, 11:49 AM · Restricted Project
wmi added a comment to D74303: [CFI] cfi directive insertion for callee-save-registers in CFIInstrInserter pass.

The original committed patch was reverted because a test failure in libc++ was reported.

Tue, Mar 24, 11:16 AM · Restricted Project
wmi updated the diff for D74303: [CFI] cfi directive insertion for callee-save-registers in CFIInstrInserter pass.

Fix an unwinding problem exposed in libc++ test.

Tue, Mar 24, 11:16 AM · Restricted Project

Fri, Mar 20

wmi added a comment to D76255: [SampleFDO] Port MD5 name table support to extbinary format..

Great to MD5 support added to ext-bin, thanks @wmi. After this change it seems compact-bin is completely superseded by ext-bin, do you plan to deprecate/remove it?

Fri, Mar 20, 2:40 PM · Restricted Project

Thu, Mar 19

wmi committed rGa035726e5aae: Revert "Generate Callee Saved Register (CSR) related cfi directives like . (authored by wmi).
Revert "Generate Callee Saved Register (CSR) related cfi directives like .
Thu, Mar 19, 10:59 PM
wmi added a reverting change for rG3c96d01d2e3d: Generate Callee Saved Register (CSR) related cfi directives like .cfi_restore.: rGa035726e5aae: Revert "Generate Callee Saved Register (CSR) related cfi directives like ..
Thu, Mar 19, 10:59 PM

Tue, Mar 17

wmi added inline comments to D76255: [SampleFDO] Port MD5 name table support to extbinary format..
Tue, Mar 17, 5:51 PM · Restricted Project
wmi added inline comments to D76255: [SampleFDO] Port MD5 name table support to extbinary format..
Tue, Mar 17, 4:13 PM · Restricted Project
wmi added inline comments to D76255: [SampleFDO] Port MD5 name table support to extbinary format..
Tue, Mar 17, 10:10 AM · Restricted Project

Mon, Mar 16

wmi created D76255: [SampleFDO] Port MD5 name table support to extbinary format..
Mon, Mar 16, 3:18 PM · Restricted Project

Wed, Mar 4

wmi committed rG3c96d01d2e3d: Generate Callee Saved Register (CSR) related cfi directives like .cfi_restore. (authored by wmi).
Generate Callee Saved Register (CSR) related cfi directives like .cfi_restore.
Wed, Mar 4, 11:49 AM
wmi closed D74303: [CFI] cfi directive insertion for callee-save-registers in CFIInstrInserter pass.
Wed, Mar 4, 11:48 AM · Restricted Project
wmi added a comment to D74303: [CFI] cfi directive insertion for callee-save-registers in CFIInstrInserter pass.

Thanks for the review and helpful suggestions!

Wed, Mar 4, 11:15 AM · Restricted Project

Tue, Mar 3

wmi updated the diff for D74303: [CFI] cfi directive insertion for callee-save-registers in CFIInstrInserter pass.

Address @thegameg's comment.

Tue, Mar 3, 11:01 PM · Restricted Project
wmi added inline comments to D74303: [CFI] cfi directive insertion for callee-save-registers in CFIInstrInserter pass.
Tue, Mar 3, 10:21 PM · Restricted Project

Mon, Mar 2

wmi added a comment to D74303: [CFI] cfi directive insertion for callee-save-registers in CFIInstrInserter pass.

Friendly ping.

Mon, Mar 2, 9:29 AM · Restricted Project

Feb 22 2020

wmi updated the diff for D74303: [CFI] cfi directive insertion for callee-save-registers in CFIInstrInserter pass.

Address @thegameg's comment.

Feb 22 2020, 11:46 PM · Restricted Project
wmi added a comment to D74303: [CFI] cfi directive insertion for callee-save-registers in CFIInstrInserter pass.

Thanks for working on this, I think in general it looks good.

Wasn't there a verifier that was running with EXPENSIVE_CHECKS for the previously supported directives? Can we add the registers as well?

More comments inline.

Feb 22 2020, 11:37 PM · Restricted Project

Feb 18 2020

wmi accepted D74799: Fix test for profile remapper.

Thanks for catching the mistake!

Feb 18 2020, 3:34 PM · Restricted Project

Feb 9 2020

wmi created D74303: [CFI] cfi directive insertion for callee-save-registers in CFIInstrInserter pass.
Feb 9 2020, 10:01 PM · Restricted Project

Feb 4 2020

wmi accepted D70247: [JumpThreading] Thread jumps through two basic blocks.

LGTM.

Feb 4 2020, 10:49 AM · Restricted Project

Jan 30 2020

wmi accepted D73724: [ThinLTO] Disable "Always import constants" due to compile time issues.

LGTM.

Jan 30 2020, 10:10 AM · Restricted Project

Jan 27 2020

wmi committed rGf60671f049bc: [LV] Remove nondeterminacy by changing LoopVectorizationLegality::Reductions… (authored by wmi).
[LV] Remove nondeterminacy by changing LoopVectorizationLegality::Reductions…
Jan 27 2020, 4:56 PM
wmi closed D73490: [LV] Remove nondeterminacy by changing LoopVectorizationLegality::Reductions from DenseMap to MapVector .
Jan 27 2020, 4:56 PM · Restricted Project
wmi updated the diff for D73490: [LV] Remove nondeterminacy by changing LoopVectorizationLegality::Reductions from DenseMap to MapVector .

Address Florian's comments.

Jan 27 2020, 9:32 AM · Restricted Project
wmi added inline comments to D73490: [LV] Remove nondeterminacy by changing LoopVectorizationLegality::Reductions from DenseMap to MapVector .
Jan 27 2020, 9:32 AM · Restricted Project
wmi created D73490: [LV] Remove nondeterminacy by changing LoopVectorizationLegality::Reductions from DenseMap to MapVector .
Jan 27 2020, 8:47 AM · Restricted Project

Jan 16 2020

wmi accepted D70247: [JumpThreading] Thread jumps through two basic blocks.

LGTM.

Jan 16 2020, 12:08 PM · Restricted Project

Jan 15 2020

wmi committed rG154cd6de513e: [SampleFDO] Fix invalid branch profile generated by indirect call promotion. (authored by wmi).
[SampleFDO] Fix invalid branch profile generated by indirect call promotion.
Jan 15 2020, 6:43 PM
wmi closed D72790: [SampleFDO] Fix invalid branch profile generated by indirect call promotion.
Jan 15 2020, 6:43 PM · Restricted Project
wmi added inline comments to D70247: [JumpThreading] Thread jumps through two basic blocks.
Jan 15 2020, 11:27 AM · Restricted Project
wmi created D72790: [SampleFDO] Fix invalid branch profile generated by indirect call promotion.
Jan 15 2020, 10:31 AM · Restricted Project

Jan 14 2020

wmi accepted D72711: [ThinLTO] Handle variable with twice promoted name (Rust).

LGTM.

Jan 14 2020, 8:59 AM · Restricted Project

Jan 10 2020

wmi accepted D72538: [ThinLTO] Add additional ThinLTO pipeline testing with new PM.

LGTM.

Jan 10 2020, 7:41 PM · Restricted Project, Restricted Project
wmi added a comment to D72538: [ThinLTO] Add additional ThinLTO pipeline testing with new PM.

The additional pipeline testing will catch any future pass change to the pipeline. A related but separate question is do we have a way to check whether there is any other missing pass in thinlto newpm similar as that in D72386?

Jan 10 2020, 2:53 PM · Restricted Project, Restricted Project

Jan 9 2020

wmi committed rG21a4710c67a9: [ThinLTO] Pass CodeGenOpts like UnrollLoops/VectorizeLoop/VectorizeSLP down to… (authored by wmi).
[ThinLTO] Pass CodeGenOpts like UnrollLoops/VectorizeLoop/VectorizeSLP down to…
Jan 9 2020, 9:15 PM
wmi closed D72386: [ThinLTO] pass UnrollLoops/VectorizeLoop/VectorizeSLP in CGOpts down to pass builder in ltobackend.
Jan 9 2020, 9:14 PM · Restricted Project, Restricted Project
wmi added a comment to D72386: [ThinLTO] pass UnrollLoops/VectorizeLoop/VectorizeSLP in CGOpts down to pass builder in ltobackend.

Thanks for the review!

Jan 9 2020, 8:57 PM · Restricted Project, Restricted Project
wmi updated the diff for D72386: [ThinLTO] pass UnrollLoops/VectorizeLoop/VectorizeSLP in CGOpts down to pass builder in ltobackend.

Address Teresa's comment.

Jan 9 2020, 3:06 PM · Restricted Project, Restricted Project
wmi added inline comments to D72386: [ThinLTO] pass UnrollLoops/VectorizeLoop/VectorizeSLP in CGOpts down to pass builder in ltobackend.
Jan 9 2020, 2:28 PM · Restricted Project, Restricted Project
wmi added inline comments to D72386: [ThinLTO] pass UnrollLoops/VectorizeLoop/VectorizeSLP in CGOpts down to pass builder in ltobackend.
Jan 9 2020, 2:09 PM · Restricted Project, Restricted Project
wmi added inline comments to D72386: [ThinLTO] pass UnrollLoops/VectorizeLoop/VectorizeSLP in CGOpts down to pass builder in ltobackend.
Jan 9 2020, 1:13 PM · Restricted Project, Restricted Project
wmi updated the diff for D72386: [ThinLTO] pass UnrollLoops/VectorizeLoop/VectorizeSLP in CGOpts down to pass builder in ltobackend.

Enable loop and slp vectorization in O2/O3 (Os for opt as well) in gold plugin, lld, opt and llvm-lto2. Add related tests.

Jan 9 2020, 1:13 PM · Restricted Project, Restricted Project

Jan 8 2020

wmi added a comment to D72386: [ThinLTO] pass UnrollLoops/VectorizeLoop/VectorizeSLP in CGOpts down to pass builder in ltobackend.

Teresa, do we have existing tests where I can add some check to see if some passes are executed for the lld and gold plugin changes?

Jan 8 2020, 9:15 AM · Restricted Project, Restricted Project
wmi added a comment to D72386: [ThinLTO] pass UnrollLoops/VectorizeLoop/VectorizeSLP in CGOpts down to pass builder in ltobackend.

Thinking through this some more - this patch fixes the distributed ThinLTO backend case, but not the in-process ThinLTO case. For that, both lld and gold plugin will need to set this up. And since they don't have the clang options, they will just need to set to some reasonable default, probably either hardwired on like in the old PM or set based on the CGOptLevel they set from linker options. However, they both default to -O2 unless a special plugin or lld linker option is set, so we'd probably want to enable these passes there at O2+.

Jan 8 2020, 9:05 AM · Restricted Project, Restricted Project

Jan 7 2020

wmi updated the diff for D72386: [ThinLTO] pass UnrollLoops/VectorizeLoop/VectorizeSLP in CGOpts down to pass builder in ltobackend.

update flag in the test.

Jan 7 2020, 11:20 PM · Restricted Project, Restricted Project
wmi updated the diff for D72386: [ThinLTO] pass UnrollLoops/VectorizeLoop/VectorizeSLP in CGOpts down to pass builder in ltobackend.
Jan 7 2020, 11:11 PM · Restricted Project, Restricted Project
wmi created D72386: [ThinLTO] pass UnrollLoops/VectorizeLoop/VectorizeSLP in CGOpts down to pass builder in ltobackend.
Jan 7 2020, 11:11 PM · Restricted Project, Restricted Project
wmi accepted D70247: [JumpThreading] Thread jumps through two basic blocks.

LGTM.

Jan 7 2020, 10:52 PM · Restricted Project

Jan 6 2020

wmi added inline comments to D70247: [JumpThreading] Thread jumps through two basic blocks.
Jan 6 2020, 3:12 PM · Restricted Project

Dec 13 2019

wmi accepted D71485: [profile] Fix a crash when -fprofile-remapping-file= triggers an error.

LGTM.

Dec 13 2019, 11:28 AM · Restricted Project, Restricted Project

Dec 11 2019

wmi accepted D70584: [AutoFDO] Statistic for context sensitive profile guided inlining.
Dec 11 2019, 4:09 PM · Restricted Project

Dec 6 2019

wmi accepted D70750: [AutoFDO] Inline replay for cold/small callees from sample profile loader.

LGTM. Thanks!

Dec 6 2019, 9:07 AM · Restricted Project

Dec 5 2019

wmi added a comment to D70750: [AutoFDO] Inline replay for cold/small callees from sample profile loader.

Did performance test and I saw 0.4% improvement in an internal benchmark. That is a good improvement, thanks for the change!

Dec 5 2019, 9:14 AM · Restricted Project
wmi accepted D70653: [AutoFDO] Properly merge context-sensitive profile of inlinee back to outlined function.

I rerun perf test and I don't see any performance change. Last run I saw very small improvement on latency in a benchmark. This is fine since the benchmark has some fluctuation by itself.

Dec 5 2019, 9:14 AM · Restricted Project

Dec 2 2019

wmi added inline comments to D70653: [AutoFDO] Properly merge context-sensitive profile of inlinee back to outlined function.
Dec 2 2019, 4:02 PM · Restricted Project

Nov 27 2019

wmi added inline comments to D70653: [AutoFDO] Properly merge context-sensitive profile of inlinee back to outlined function.
Nov 27 2019, 10:45 AM · Restricted Project
wmi added a comment to D70653: [AutoFDO] Properly merge context-sensitive profile of inlinee back to outlined function.

I did performance test combing D70653 and D70655, there was ~0.2% latency improvement in a benchmark, so that is good.

Nov 27 2019, 9:41 AM · Restricted Project
wmi accepted D70655: [AutoFDO] Top-down Inlining for specialization with context-sensitive profile.

I did performance test for this change and the result is neutral.

Nov 27 2019, 9:22 AM · Restricted Project

Nov 25 2019

wmi added a comment to D70653: [AutoFDO] Properly merge context-sensitive profile of inlinee back to outlined function.

The change makes sense to me. The only concern is for inline instance getEntrySamples is not precise and sometimes can have a large difference with the actual head count. It will be interesting to see the actual effect. I will test it combined with D70655 on my side.

Nov 25 2019, 12:18 PM · Restricted Project
wmi added a comment to D70655: [AutoFDO] Top-down Inlining for specialization with context-sensitive profile.

That is a good catch. From my understanding it could potentially reduce inlining in some cold places and potentially increase regular inlinling. Do you see how much impact on performance and code size by changing it? I will do some evaluation on my side.

Nov 25 2019, 11:41 AM · Restricted Project
wmi added a comment to D70584: [AutoFDO] Statistic for context sensitive profile guided inlining.

However the reality is most of the inlining actually happens during regular inliner.

Nov 25 2019, 10:16 AM · Restricted Project

Nov 21 2019

wmi accepted D70338: [JumpThreading] Refactor ThreadEdge.

LGTM.

Nov 21 2019, 11:36 AM · Restricted Project

Nov 19 2019

wmi added a comment to D70338: [JumpThreading] Refactor ThreadEdge.

Maybe we can rename current ThreadEdge to TryThreadEdge and let TryThreadEdge call ThreadEdge to do the transformation?

Nov 19 2019, 11:38 AM · Restricted Project

Nov 15 2019

wmi added inline comments to D70247: [JumpThreading] Thread jumps through two basic blocks.
Nov 15 2019, 10:23 AM · Restricted Project

Nov 14 2019

wmi added inline comments to D70247: [JumpThreading] Thread jumps through two basic blocks.
Nov 14 2019, 5:02 PM · Restricted Project

Nov 6 2019

wmi accepted D69861: [JumpThreading] Factor out code to clone a basic block (NFC).

LGTM.

Nov 6 2019, 1:27 PM · Restricted Project

Nov 5 2019

wmi accepted D69736: Keep import function list for inlinee profile update.
Nov 5 2019, 5:53 PM · Restricted Project
wmi added a comment to D69736: Keep import function list for inlinee profile update.

I saw 0.3% improvement in our server benchmark. That is a great improvement!

Nov 5 2019, 5:43 PM · Restricted Project
wmi added inline comments to D69861: [JumpThreading] Factor out code to clone a basic block (NFC).
Nov 5 2019, 2:20 PM · Restricted Project
wmi accepted D69852: [JumpThreading] Factor out code to merge basic blocks (NFC).

LGTM.

Nov 5 2019, 9:51 AM · Restricted Project
wmi accepted D69317: Fixed a profdata file size detection on Windows system. .

Sorry I missed the patch. Thanks for fixing the test!

Nov 5 2019, 9:24 AM · Restricted Project
wmi added a comment to D69852: [JumpThreading] Factor out code to merge basic blocks (NFC).

Sorry, there is a little more refactoring which could be done.

Nov 5 2019, 9:05 AM · Restricted Project
wmi accepted D69852: [JumpThreading] Factor out code to merge basic blocks (NFC).

LGTM.

Nov 5 2019, 8:56 AM · Restricted Project
wmi added a comment to D69736: Keep import function list for inlinee profile update.

I don't have further comment. It LGTM. I am doing some performance test for it and will report back its performance impact on our side (expect to be positive).

Nov 5 2019, 7:42 AM · Restricted Project

Nov 4 2019

wmi added a comment to D69736: Keep import function list for inlinee profile update.

Could you add a testcase to verify that no profile update for inlining in sampleloader pass?

Nov 4 2019, 2:17 PM · Restricted Project
wmi accepted D69811: [JumpThreading] Factor out common code to update the SSA form (NFC).

LGTM.

Nov 4 2019, 10:38 AM · Restricted Project

Nov 3 2019

wmi added a comment to D69736: Keep import function list for inlinee profile update.

Thanks for the patch!

Nov 3 2019, 7:50 PM · Restricted Project

Oct 31 2019

wmi added inline comments to D68898: JumpThreading: enhance JT to handle BB with no successor and address comparison.
Oct 31 2019, 4:53 PM · Restricted Project

Oct 29 2019

wmi added a comment to D68593: [NewPM] Add an SROA pass after loop unroll.
In D68593#1725683, @wmi wrote:

Looks like a very helpful patch. I saw the problem showing up at multiple places when I was looking at a halide testcase and I was wondering what was wrong. I can try it out and see if the patch can fix it.

Oct 29 2019, 12:09 PM · Restricted Project
wmi added a comment to D68593: [NewPM] Add an SROA pass after loop unroll.

Looks like a very helpful patch. I saw the problem showing up at multiple places when I was looking at a halide testcase and I was wondering what was wrong. I can try it out and see if the patch can fix it.

Oct 29 2019, 10:45 AM · Restricted Project

Oct 18 2019

wmi committed rG8c8ec1f6868b: [SampleFDO] Add profile remapping support for profile on-demand loading used by… (authored by wmi).
[SampleFDO] Add profile remapping support for profile on-demand loading used by…
Oct 18 2019, 3:37 PM
wmi closed D68901: [SampleFDO] Add profile remapping support for profile on-demand loading used by ExtBinary format profile.
Oct 18 2019, 3:37 PM · Restricted Project
wmi committed rL375295: [SampleFDO] Add profile remapping support for profile on-demand loading used.
[SampleFDO] Add profile remapping support for profile on-demand loading used
Oct 18 2019, 3:37 PM

Oct 16 2019

wmi added inline comments to D68901: [SampleFDO] Add profile remapping support for profile on-demand loading used by ExtBinary format profile.
Oct 16 2019, 3:36 PM · Restricted Project
wmi updated the diff for D68901: [SampleFDO] Add profile remapping support for profile on-demand loading used by ExtBinary format profile.

Address Wenlei's comment.

Oct 16 2019, 3:36 PM · Restricted Project

Oct 15 2019

wmi updated the diff for D68901: [SampleFDO] Add profile remapping support for profile on-demand loading used by ExtBinary format profile.

Address Wenlei and David's comments.
Change SampleProfileReaderItaniumRemapper from a proxy of SampleProfileReader to a helper object inside of SampleProfileReader, and it is used in two places: one in SampleProfileReader::getSamplesFor for looking up a function sample and one in SampleProfileReaderExtBinary::readFuncProfiles for loading profiles on demand.

Oct 15 2019, 10:36 PM · Restricted Project
wmi added a comment to D68901: [SampleFDO] Add profile remapping support for profile on-demand loading used by ExtBinary format profile.

Thanks Wenlei and David for the reviews.

Oct 15 2019, 11:45 AM · Restricted Project

Oct 14 2019

wmi accepted D68948: [ThinLTO] Fix printing of NoInline function summary flag.

LGTM.

Oct 14 2019, 11:30 AM · Restricted Project

Oct 12 2019

wmi added a comment to D68898: JumpThreading: enhance JT to handle BB with no successor and address comparison.

I change the testcase a little so the terminator won't be ret, but the generated code pattern is the same. Should it be handled as well?

Oct 12 2019, 10:01 PM · Restricted Project

Oct 11 2019

wmi created D68901: [SampleFDO] Add profile remapping support for profile on-demand loading used by ExtBinary format profile.
Oct 11 2019, 5:10 PM · Restricted Project

Oct 9 2019

wmi committed rG09dcfe680570: [SampleFDO] Add indexing for function profiles so they can be loaded on demand… (authored by wmi).
[SampleFDO] Add indexing for function profiles so they can be loaded on demand…
Oct 9 2019, 2:35 PM
wmi closed D68601: [SampleFDO] Add indexing for function profiles so they can be loaded on demand in ExtBinary format.
Oct 9 2019, 2:35 PM · Restricted Project