Page MenuHomePhabricator

Carrot (Guozhi Wei)
User

Projects

User does not belong to any projects.

User Details

User Since
Jul 15 2015, 3:50 PM (275 w, 5 d)

Recent Activity

Thu, Oct 22

Carrot added a comment to D89088: [MBP] Add whole chain to BlockFilterSet instead of individual BB.

It has been reverted.

Thu, Oct 22, 5:39 PM · Restricted Project
Carrot added a comment to D89088: [MBP] Add whole chain to BlockFilterSet instead of individual BB.

@aeubanks, can you extract a test case from your failure?
It will be very helpful for me to debug the problem.

Thu, Oct 22, 8:41 AM · Restricted Project

Wed, Oct 21

Carrot added a comment to D89088: [MBP] Add whole chain to BlockFilterSet instead of individual BB.

Then it should be an unknown bug in MBP.

Wed, Oct 21, 5:21 PM · Restricted Project

Tue, Oct 20

Carrot added a comment to D89088: [MBP] Add whole chain to BlockFilterSet instead of individual BB.

As jmorse has pointed out, the function layout is incorrect at the assertion time.

Tue, Oct 20, 5:54 PM · Restricted Project

Fri, Oct 16

Carrot added a comment to D89088: [MBP] Add whole chain to BlockFilterSet instead of individual BB.

@dmajor, without a test case it is difficult to point out what's wrong since there is no obvious relation between this patch and VarLocBasedImpl.cpp. I will try my best to do some simple analysis/guess:

Fri, Oct 16, 1:19 PM · Restricted Project

Wed, Oct 14

Carrot committed rGadfb5415010f: [MBP] Add whole chain to BlockFilterSet instead of individual BB (authored by Carrot).
[MBP] Add whole chain to BlockFilterSet instead of individual BB
Wed, Oct 14, 11:55 AM
Carrot closed D89088: [MBP] Add whole chain to BlockFilterSet instead of individual BB.
Wed, Oct 14, 11:55 AM · Restricted Project

Tue, Oct 13

Carrot added a comment to D89088: [MBP] Add whole chain to BlockFilterSet instead of individual BB.

For the attached test case, it can cause bad layout, block .problem is placed under .cold. With this patch .problem is optimally placed after .pred.

Tue, Oct 13, 4:34 PM · Restricted Project
Carrot added inline comments to D89088: [MBP] Add whole chain to BlockFilterSet instead of individual BB.
Tue, Oct 13, 2:25 PM · Restricted Project

Thu, Oct 8

Carrot requested review of D89088: [MBP] Add whole chain to BlockFilterSet instead of individual BB.
Thu, Oct 8, 6:14 PM · Restricted Project

Sep 23 2020

Carrot committed rGfd75ad86624e: [MBFIWrapper] Add a new function getBlockProfileCount (authored by Carrot).
[MBFIWrapper] Add a new function getBlockProfileCount
Sep 23 2020, 9:32 AM
Carrot closed D87802: [MBFIWrapper] Add a new function getBlockProfileCount.
Sep 23 2020, 9:32 AM · Restricted Project

Sep 22 2020

Carrot added inline comments to D87802: [MBFIWrapper] Add a new function getBlockProfileCount.
Sep 22 2020, 12:00 PM · Restricted Project

Sep 21 2020

Carrot updated the diff for D87802: [MBFIWrapper] Add a new function getBlockProfileCount.
Sep 21 2020, 5:09 PM · Restricted Project

Sep 17 2020

Carrot added a comment to D87802: [MBFIWrapper] Add a new function getBlockProfileCount.

It can be triggered by a test case in my next basic block duplication patch, because newly created basic block can cause MBFI.getBlockProfileCount crash.

Sep 17 2020, 5:26 PM · Restricted Project

Sep 16 2020

Carrot requested review of D87802: [MBFIWrapper] Add a new function getBlockProfileCount.
Sep 16 2020, 3:58 PM · Restricted Project

Sep 15 2020

Carrot committed rG243ffd0cade7: [MachineBasicBlock] Fix a typo in function copySuccessor (authored by Carrot).
[MachineBasicBlock] Fix a typo in function copySuccessor
Sep 15 2020, 9:19 AM
Carrot closed D87417: [MachineBasicBlock] Fix a typo in function copySuccessor.
Sep 15 2020, 9:19 AM · Restricted Project

Sep 10 2020

Carrot added a reviewer for D87417: [MachineBasicBlock] Fix a typo in function copySuccessor: xur.
Sep 10 2020, 1:00 PM · Restricted Project

Sep 9 2020

Carrot requested review of D87417: [MachineBasicBlock] Fix a typo in function copySuccessor.
Sep 9 2020, 2:51 PM · Restricted Project

Aug 27 2020

Carrot added a comment to D85007: [PowerPC] PPCBoolRetToInt: Don't translate Constant's operands.

LGTM

Aug 27 2020, 8:51 AM · Restricted Project
Carrot accepted D85007: [PowerPC] PPCBoolRetToInt: Don't translate Constant's operands.
Aug 27 2020, 8:51 AM · Restricted Project

Aug 26 2020

Carrot added a comment to D85007: [PowerPC] PPCBoolRetToInt: Don't translate Constant's operands.

Please also update your patch description. Otherwise it looks good to me.

Aug 26 2020, 11:19 AM · Restricted Project

Aug 24 2020

Carrot added a comment to D85007: [PowerPC] PPCBoolRetToInt: Don't translate Constant's operands.

I think your test case is a perfect candidate for this optimization. It should not be skipped.

Aug 24 2020, 11:12 PM · Restricted Project

Jul 21 2020

Carrot committed rG28759e9fcc44: [MBP] Use profile count to compute tail dup cost if it is available (authored by Carrot).
[MBP] Use profile count to compute tail dup cost if it is available
Jul 21 2020, 11:19 AM
Carrot closed D83265: [MBP] Use profile count to compute tail dup cost if it is available.
Jul 21 2020, 11:19 AM · Restricted Project

Jul 20 2020

Carrot updated the diff for D83265: [MBP] Use profile count to compute tail dup cost if it is available.

Will commit this version.

Jul 20 2020, 9:16 PM · Restricted Project

Jul 17 2020

Carrot added inline comments to D83265: [MBP] Use profile count to compute tail dup cost if it is available.
Jul 17 2020, 3:42 PM · Restricted Project
Carrot updated the diff for D83265: [MBP] Use profile count to compute tail dup cost if it is available.
Jul 17 2020, 3:42 PM · Restricted Project

Jul 13 2020

Carrot updated the diff for D83265: [MBP] Use profile count to compute tail dup cost if it is available.
Jul 13 2020, 6:30 PM · Restricted Project
Carrot added a comment to D83265: [MBP] Use profile count to compute tail dup cost if it is available.

A few things:

  1. can this be extended to the TailDup pass too?

This patch only changes the cost function, it doesn't change tail dup algorithms, especially the partial duplication is not implemented in TailDup pass.

Jul 13 2020, 6:27 PM · Restricted Project

Jul 6 2020

Herald added a project to D83265: [MBP] Use profile count to compute tail dup cost if it is available: Restricted Project.
Jul 6 2020, 4:45 PM · Restricted Project

Jun 19 2020

Carrot added a comment to D76194: [BasicAA] Use known lower bounds for index values for size based check..

@fhahn, could you help to take a look at https://bugs.llvm.org/show_bug.cgi?id=46335? It may be caused by this patch.

Jun 19 2020, 12:32 PM · Restricted Project

Jun 9 2020

Carrot added a comment to D68414: [SROA] Enhance AggLoadStoreRewriter to rewrite integer load/store if it covers multi fields in original aggregate.

ping

Jun 9 2020, 7:20 PM · Restricted Project

Jun 2 2020

Carrot committed rG587af86f1d8a: [X86] Add a flag to guard the wide load (authored by Carrot).
[X86] Add a flag to guard the wide load
Jun 2 2020, 4:30 PM
Carrot closed D80943: [X86] Add a flag to guard the wide load.
Jun 2 2020, 4:29 PM · Restricted Project
Carrot added a reviewer for D80943: [X86] Add a flag to guard the wide load: craig.topper.
Jun 2 2020, 11:32 AM · Restricted Project

Jun 1 2020

Carrot updated the diff for D80943: [X86] Add a flag to guard the wide load.
Jun 1 2020, 4:16 PM · Restricted Project
Carrot added a comment to D80943: [X86] Add a flag to guard the wide load.

See https://reviews.llvm.org/rL51019 for the original commit.

The benefits of matching loadi32 like this are:

  1. mov is one byte shorter than movzx
  2. We can fold the load into a subsequent 32-bit instruction in some cases.

And the downside, of course, is that if we're unlucky and create a hazard, there's a performance hit.

Jun 1 2020, 4:16 PM · Restricted Project
Carrot created D80943: [X86] Add a flag to guard the wide load.
Jun 1 2020, 11:52 AM · Restricted Project

May 29 2020

Carrot committed rG40c08367e411: [DAGCombiner] Add command line options to guard store width reduction… (authored by Carrot).
[DAGCombiner] Add command line options to guard store width reduction…
May 29 2020, 9:48 AM
Carrot closed D80745: [DAGCombiner] Add a command line option to guard ReduceLoadOpStoreWidth.
May 29 2020, 9:47 AM · Restricted Project

May 28 2020

Carrot updated the diff for D80745: [DAGCombiner] Add a command line option to guard ReduceLoadOpStoreWidth.
May 28 2020, 3:59 PM · Restricted Project
Carrot added inline comments to D80745: [DAGCombiner] Add a command line option to guard ReduceLoadOpStoreWidth.
May 28 2020, 3:59 PM · Restricted Project
Carrot created D80745: [DAGCombiner] Add a command line option to guard ReduceLoadOpStoreWidth.
May 28 2020, 10:56 AM · Restricted Project

May 14 2020

Carrot updated the diff for D68414: [SROA] Enhance AggLoadStoreRewriter to rewrite integer load/store if it covers multi fields in original aggregate.
May 14 2020, 7:35 PM · Restricted Project
Carrot added a comment to D68414: [SROA] Enhance AggLoadStoreRewriter to rewrite integer load/store if it covers multi fields in original aggregate.

I'm happy with the general approach here; just some questions about the details.

Also, can you gather numbers about how frequently this triggers over some testsuite like the LLVM testsuite or SPEC? I'd like some idea about how large the impact of this is going to be.

May 14 2020, 7:03 PM · Restricted Project

May 3 2020

Carrot added inline comments to D68414: [SROA] Enhance AggLoadStoreRewriter to rewrite integer load/store if it covers multi fields in original aggregate.
May 3 2020, 3:55 PM · Restricted Project

Apr 30 2020

Carrot updated the diff for D68414: [SROA] Enhance AggLoadStoreRewriter to rewrite integer load/store if it covers multi fields in original aggregate.

This version splits overlapped AllocaSlices like

Apr 30 2020, 3:09 PM · Restricted Project

Apr 14 2020

Carrot added a comment to D68414: [SROA] Enhance AggLoadStoreRewriter to rewrite integer load/store if it covers multi fields in original aggregate.

Thank you for the example.

Apr 14 2020, 7:35 PM · Restricted Project
Carrot added a comment to D68414: [SROA] Enhance AggLoadStoreRewriter to rewrite integer load/store if it covers multi fields in original aggregate.

Your reply doesn't really address the most important point. The entire premise of your extractTypeFields is that the type of an alloca is a reliable guide to the way code will access that alloca. That simply is not true: clang cannot generate appropriate LLVM types in some cases. So you'll end up with weird behaviors in many cases.

Apr 14 2020, 11:50 AM · Restricted Project

Apr 10 2020

Carrot accepted D77911: Exclude bitcast and ext/trunc signbit optimization on ppc_fp128 .
Apr 10 2020, 4:41 PM · Restricted Project
Carrot accepted D77748: [CodeGen] Allow partial tail duplication in Machine Block Placement..

LGTM.
Thanks for the fixing.

Apr 10 2020, 1:26 PM · Restricted Project

Apr 8 2020

Carrot added a comment to D68414: [SROA] Enhance AggLoadStoreRewriter to rewrite integer load/store if it covers multi fields in original aggregate.

The most complex part of this patch is avoiding "blindly rewriting", and most of the new data structures are used for this purpose.

Apr 8 2020, 4:51 PM · Restricted Project

Apr 1 2020

Carrot added a comment to D68414: [SROA] Enhance AggLoadStoreRewriter to rewrite integer load/store if it covers multi fields in original aggregate.

ping

Apr 1 2020, 4:54 PM · Restricted Project

Mar 31 2020

Carrot added a comment to D76539: [CodeGenPrepare] Delete intrinsic call to llvm.assume to enable more tailcall.

I took a look at the first failed test case amdgpu-hip-implicit-kernarg.cu, it contains an empty kernel function, it should not trigger any optimization code.

Mar 31 2020, 10:32 PM · Restricted Project
Carrot added a comment to D76539: [CodeGenPrepare] Delete intrinsic call to llvm.assume to enable more tailcall.

This patch doesn't do any register level changes, so it looks unlike the root cause of the failure, maybe some unrelated bug was uncovered by this patch.

Mar 31 2020, 10:00 PM · Restricted Project
Carrot committed rG6d20937c29a1: [CodeGenPrepare] Delete intrinsic call to llvm.assume to enable more tailcall (authored by Carrot).
[CodeGenPrepare] Delete intrinsic call to llvm.assume to enable more tailcall
Mar 31 2020, 12:00 PM
Carrot closed D76539: [CodeGenPrepare] Delete intrinsic call to llvm.assume to enable more tailcall.
Mar 31 2020, 12:00 PM · Restricted Project

Mar 30 2020

Carrot updated the diff for D76539: [CodeGenPrepare] Delete intrinsic call to llvm.assume to enable more tailcall.
Mar 30 2020, 2:11 PM · Restricted Project
Carrot added inline comments to D76539: [CodeGenPrepare] Delete intrinsic call to llvm.assume to enable more tailcall.
Mar 30 2020, 2:11 PM · Restricted Project

Mar 24 2020

Carrot added inline comments to D76539: [CodeGenPrepare] Delete intrinsic call to llvm.assume to enable more tailcall.
Mar 24 2020, 12:53 PM · Restricted Project
Carrot updated the diff for D76539: [CodeGenPrepare] Delete intrinsic call to llvm.assume to enable more tailcall.
Mar 24 2020, 10:43 AM · Restricted Project
Carrot added inline comments to D76539: [CodeGenPrepare] Delete intrinsic call to llvm.assume to enable more tailcall.
Mar 24 2020, 10:43 AM · Restricted Project

Mar 23 2020

Carrot added inline comments to D76539: [CodeGenPrepare] Delete intrinsic call to llvm.assume to enable more tailcall.
Mar 23 2020, 5:26 PM · Restricted Project
Carrot added inline comments to D76539: [CodeGenPrepare] Delete intrinsic call to llvm.assume to enable more tailcall.
Mar 23 2020, 9:48 AM · Restricted Project

Mar 21 2020

Carrot created D76539: [CodeGenPrepare] Delete intrinsic call to llvm.assume to enable more tailcall.
Mar 21 2020, 1:34 AM · Restricted Project

Mar 5 2020

Carrot added a comment to D68414: [SROA] Enhance AggLoadStoreRewriter to rewrite integer load/store if it covers multi fields in original aggregate.

ping

Mar 5 2020, 2:49 PM · Restricted Project

Mar 4 2020

Carrot committed rGee9a3eba7697: [CodeGenPrepare] Handle ExtractValueInst in dupRetToEnableTailCallOpts (authored by Carrot).
[CodeGenPrepare] Handle ExtractValueInst in dupRetToEnableTailCallOpts
Mar 4 2020, 11:18 AM
Carrot closed D74242: [CodeGenPrepare] Handle ExtractValueInst in dupRetToEnableTailCallOpts.
Mar 4 2020, 11:17 AM · Restricted Project

Mar 3 2020

Carrot updated the diff for D74242: [CodeGenPrepare] Handle ExtractValueInst in dupRetToEnableTailCallOpts.

Thanks, will commit this version.

Mar 3 2020, 3:00 PM · Restricted Project

Mar 2 2020

Carrot added a comment to D74242: [CodeGenPrepare] Handle ExtractValueInst in dupRetToEnableTailCallOpts.

ping

Mar 2 2020, 12:03 PM · Restricted Project

Feb 26 2020

Carrot added inline comments to D68414: [SROA] Enhance AggLoadStoreRewriter to rewrite integer load/store if it covers multi fields in original aggregate.
Feb 26 2020, 3:51 PM · Restricted Project
Carrot updated the diff for D68414: [SROA] Enhance AggLoadStoreRewriter to rewrite integer load/store if it covers multi fields in original aggregate.
Feb 26 2020, 3:51 PM · Restricted Project

Feb 24 2020

Carrot updated the diff for D74242: [CodeGenPrepare] Handle ExtractValueInst in dupRetToEnableTailCallOpts.
Feb 24 2020, 2:02 PM · Restricted Project

Feb 18 2020

Carrot updated the diff for D74242: [CodeGenPrepare] Handle ExtractValueInst in dupRetToEnableTailCallOpts.
Feb 18 2020, 1:12 PM · Restricted Project

Feb 12 2020

Carrot committed rG369d086d784e: [MBP] Partial tail duplication into hot predecessors (authored by Carrot).
[MBP] Partial tail duplication into hot predecessors
Feb 12 2020, 3:27 PM
Carrot closed D73387: [MBP] Partial tail duplication into hot predecessors.
Feb 12 2020, 3:27 PM · Restricted Project

Feb 7 2020

Carrot added a reviewer for D74242: [CodeGenPrepare] Handle ExtractValueInst in dupRetToEnableTailCallOpts: arsenm.
Feb 7 2020, 1:39 PM · Restricted Project
Carrot updated the diff for D74242: [CodeGenPrepare] Handle ExtractValueInst in dupRetToEnableTailCallOpts.
Feb 7 2020, 1:39 PM · Restricted Project
Carrot created D74242: [CodeGenPrepare] Handle ExtractValueInst in dupRetToEnableTailCallOpts.
Feb 7 2020, 10:54 AM · Restricted Project

Feb 3 2020

Carrot added inline comments to D73387: [MBP] Partial tail duplication into hot predecessors.
Feb 3 2020, 4:03 PM · Restricted Project
Carrot updated the diff for D73387: [MBP] Partial tail duplication into hot predecessors.
Feb 3 2020, 4:03 PM · Restricted Project

Jan 30 2020

Carrot added inline comments to D73387: [MBP] Partial tail duplication into hot predecessors.
Jan 30 2020, 8:13 AM · Restricted Project
Carrot updated the diff for D73387: [MBP] Partial tail duplication into hot predecessors.
Jan 30 2020, 8:13 AM · Restricted Project

Jan 28 2020

Carrot added inline comments to D73387: [MBP] Partial tail duplication into hot predecessors.
Jan 28 2020, 1:22 PM · Restricted Project
Carrot updated the diff for D73387: [MBP] Partial tail duplication into hot predecessors.
Jan 28 2020, 1:22 PM · Restricted Project
Carrot added a comment to D73387: [MBP] Partial tail duplication into hot predecessors.

New improvement looks cool, any data for clang itself (large binary too)?

Jan 28 2020, 10:49 AM · Restricted Project

Jan 24 2020

Carrot created D73387: [MBP] Partial tail duplication into hot predecessors.
Jan 24 2020, 3:59 PM · Restricted Project

Jan 9 2020

Carrot added a comment to D68414: [SROA] Enhance AggLoadStoreRewriter to rewrite integer load/store if it covers multi fields in original aggregate.

Could anybody help to review this last decade's patch?
Thanks a lot!

Jan 9 2020, 11:48 AM · Restricted Project

Dec 30 2019

Carrot added a reviewer for D68414: [SROA] Enhance AggLoadStoreRewriter to rewrite integer load/store if it covers multi fields in original aggregate: cherry.
Dec 30 2019, 3:11 PM · Restricted Project

Dec 20 2019

Carrot added a reviewer for D68414: [SROA] Enhance AggLoadStoreRewriter to rewrite integer load/store if it covers multi fields in original aggregate: reames.
Dec 20 2019, 4:07 PM · Restricted Project

Dec 11 2019

Carrot added inline comments to D70030: [MachineBlockPlacement] Fix UnscheduledPredecessors counter to reflect tail duplication..
Dec 11 2019, 8:46 AM · Restricted Project

Dec 10 2019

Carrot added inline comments to D70030: [MachineBlockPlacement] Fix UnscheduledPredecessors counter to reflect tail duplication..
Dec 10 2019, 8:37 AM · Restricted Project

Dec 9 2019

Carrot added inline comments to D70030: [MachineBlockPlacement] Fix UnscheduledPredecessors counter to reflect tail duplication..
Dec 9 2019, 4:07 PM · Restricted Project

Dec 6 2019

Carrot committed rG72942459d070: [MBP] Avoid tail duplication if it can't bring benefit (authored by Carrot).
[MBP] Avoid tail duplication if it can't bring benefit
Dec 6 2019, 10:04 AM
Carrot closed D64376: [MBP] Avoid tail duplication if it can't bring benefit.
Dec 6 2019, 10:03 AM · Restricted Project

Dec 5 2019

Carrot updated the diff for D64376: [MBP] Avoid tail duplication if it can't bring benefit.
Dec 5 2019, 8:55 AM · Restricted Project

Dec 4 2019

Carrot added a comment to D70030: [MachineBlockPlacement] Fix UnscheduledPredecessors counter to reflect tail duplication..

Hey @Carrot , really appreciated your time on it.

For the test case provided, I am pretty sure inner loop and outer loop are in different Loop Chain.

This is correct. I already mentioned it in Nov 15. Thanks for the test case.

Dec 4 2019, 9:41 AM · Restricted Project

Dec 3 2019

Carrot added inline comments to D70030: [MachineBlockPlacement] Fix UnscheduledPredecessors counter to reflect tail duplication..
Dec 3 2019, 8:51 AM · Restricted Project