Page MenuHomePhabricator

SixWeining (Lu Weining)
User

Projects

User does not belong to any projects.

User Details

User Since
Nov 1 2021, 11:53 PM (35 w, 5 m)

Recent Activity

Today

SixWeining added a comment to D128194: [LoongArch] Add codegen support for multiplication operations.

@MaskRay I have rebased to D128433 which add LoongArch support to update_llc_test_checks. Do you have any futher comments? Thanks.

Mon, Jul 4, 10:23 PM · Restricted Project, Restricted Project
SixWeining added a comment to D128430: [LoongArch] Support lowering FrameIndex.

LGTM apart from the stack ID assertion bit; @SixWeining do you think an assertion should be present nevertheless even if we're only using one type of stack currently?

Mon, Jul 4, 10:20 PM · Restricted Project, Restricted Project
SixWeining committed rG3610d5f5d4c2: [LoongArch] Add initial support for function calls (authored by wangleiat).
[LoongArch] Add initial support for function calls
Mon, Jul 4, 9:04 PM · Restricted Project, Restricted Project
SixWeining closed D128429: [LoongArch] Add initial support for function calls.
Mon, Jul 4, 9:03 PM · Restricted Project, Restricted Project
SixWeining accepted D128429: [LoongArch] Add initial support for function calls.
Mon, Jul 4, 9:02 PM · Restricted Project, Restricted Project
SixWeining committed rGb940fe6fe2af: [LoongArch] Add codegen support for conditional branches (authored by wangleiat).
[LoongArch] Add codegen support for conditional branches
Mon, Jul 4, 9:02 PM · Restricted Project, Restricted Project
SixWeining closed D128428: [LoongArch] Add codegen support for conditional branches.
Mon, Jul 4, 9:01 PM · Restricted Project, Restricted Project
SixWeining accepted D128428: [LoongArch] Add codegen support for conditional branches.
Mon, Jul 4, 9:01 PM · Restricted Project, Restricted Project
SixWeining committed rG5b4851ed9113: [LoongArch] Add codegen support for load/store operations (authored by wangleiat).
[LoongArch] Add codegen support for load/store operations
Mon, Jul 4, 8:59 PM · Restricted Project, Restricted Project
SixWeining closed D128427: [LoongArch] Add codegen support for load/store operations.
Mon, Jul 4, 8:59 PM · Restricted Project, Restricted Project
SixWeining added inline comments to D128901: [LoongArch] Add codegen support for atomic fence, atomic load and atomic store.
Mon, Jul 4, 12:21 AM · Restricted Project, Restricted Project

Yesterday

SixWeining added inline comments to D128898: [LoongArch] Add codegen support for handling floating point immediates.
Sun, Jul 3, 6:25 PM · Restricted Project, Restricted Project
SixWeining updated the diff for D128572: [LoongArch] Add codegen support for division operations.

Change 'rem' to 'mod' in comments.

Sun, Jul 3, 5:54 PM · Restricted Project, Restricted Project
SixWeining added inline comments to D128572: [LoongArch] Add codegen support for division operations.
Sun, Jul 3, 5:47 PM · Restricted Project, Restricted Project

Fri, Jul 1

SixWeining added inline comments to D128427: [LoongArch] Add codegen support for load/store operations.
Fri, Jul 1, 8:51 PM · Restricted Project, Restricted Project
SixWeining added a comment to D128433: [LoongArch] Add LoongArch support to update_llc_test_checks.

@xen0n @MaskRay Thanks so much for your time reviewing the patches until late at night. Let us rebase the patch.

Fri, Jul 1, 6:43 PM · Restricted Project, Restricted Project

Thu, Jun 30

SixWeining added a comment to D128898: [LoongArch] Add codegen support for handling floating point immediates.

Hello everyone. @gonglingqin is another engineer from Loongson. Please help to review her patches. Thanks.

Thu, Jun 30, 2:47 AM · Restricted Project, Restricted Project
SixWeining committed rGed7d351309f7: [LoongArch] Fix wrong function names in bstrpick_w.ll. NFC (authored by SixWeining).
[LoongArch] Fix wrong function names in bstrpick_w.ll. NFC
Thu, Jun 30, 2:00 AM · Restricted Project, Restricted Project

Tue, Jun 28

SixWeining updated the summary of D128194: [LoongArch] Add codegen support for multiplication operations.
Tue, Jun 28, 2:43 AM · Restricted Project, Restricted Project
SixWeining updated the diff for D128194: [LoongArch] Add codegen support for multiplication operations.

Address @MaskRay's comment. Rebase to D128433 since we need to call update_llc_test_checks.py.

Tue, Jun 28, 2:43 AM · Restricted Project, Restricted Project

Mon, Jun 27

SixWeining updated the summary of D128572: [LoongArch] Add codegen support for division operations.
Mon, Jun 27, 6:30 AM · Restricted Project, Restricted Project
SixWeining updated the diff for D128572: [LoongArch] Add codegen support for division operations.

disable trapping by default

Mon, Jun 27, 6:29 AM · Restricted Project, Restricted Project

Sat, Jun 25

SixWeining added a comment to D128572: [LoongArch] Add codegen support for division operations.

Trapping division/modulus operations are signatures of MIPS codegen, and indeed here the trapping-by-default behavior and the flag seem to come from MIPS. However, as division-by-zero in LLVM IR is undefined behavior, why can't we just omit the trapping behavior altogether (and match RISCV in this regard), or at least disable the trapping by default?

Sat, Jun 25, 1:32 AM · Restricted Project, Restricted Project
SixWeining added inline comments to D128572: [LoongArch] Add codegen support for division operations.
Sat, Jun 25, 1:02 AM · Restricted Project, Restricted Project

Fri, Jun 24

SixWeining requested review of D128572: [LoongArch] Add codegen support for division operations.
Fri, Jun 24, 8:37 PM · Restricted Project, Restricted Project

Thu, Jun 23

SixWeining added inline comments to D128194: [LoongArch] Add codegen support for multiplication operations.
Thu, Jun 23, 5:36 AM · Restricted Project, Restricted Project
SixWeining committed rG20e6ada2fb94: [LoongArch] Combine ((x & shifted_mask) >> shamt) to bstrpick.{w/d} (authored by SixWeining).
[LoongArch] Combine ((x & shifted_mask) >> shamt) to bstrpick.{w/d}
Thu, Jun 23, 2:21 AM · Restricted Project, Restricted Project
SixWeining closed D128191: [LoongArch] Combine ((x & shifted_mask) >> shamt) to bstrpick.{w/d}.
Thu, Jun 23, 2:20 AM · Restricted Project, Restricted Project

Wed, Jun 22

SixWeining added inline comments to D128194: [LoongArch] Add codegen support for multiplication operations.
Wed, Jun 22, 5:41 PM · Restricted Project, Restricted Project

Tue, Jun 21

SixWeining updated the diff for D128194: [LoongArch] Add codegen support for multiplication operations.

Use ";;" prefix for non-RUN and non-CHECK comment line.

Tue, Jun 21, 7:56 PM · Restricted Project, Restricted Project

Mon, Jun 20

SixWeining added a comment to D128191: [LoongArch] Combine ((x & shifted_mask) >> shamt) to bstrpick.{w/d}.

Nice overall improvements, thanks!

Only one minor suggestion. Do you think an extra test case that verifies something like (x & 0xfff0) >> 17 are properly optimized to 0? Or is such an optimization already covered by all the generic mechanisms so it's not needed here?

Mon, Jun 20, 6:45 AM · Restricted Project, Restricted Project
SixWeining requested review of D128194: [LoongArch] Add codegen support for multiplication operations.
Mon, Jun 20, 5:57 AM · Restricted Project, Restricted Project
SixWeining requested review of D128191: [LoongArch] Combine ((x & shifted_mask) >> shamt) to bstrpick.{w/d}.
Mon, Jun 20, 5:54 AM · Restricted Project, Restricted Project

Sun, Jun 19

SixWeining committed rGcf71f97bb11c: [LoongArch] Add codegen support for part of conversion operations (authored by SixWeining).
[LoongArch] Add codegen support for part of conversion operations
Sun, Jun 19, 7:01 PM · Restricted Project, Restricted Project
SixWeining closed D127204: [LoongArch] Add codegen support for part of conversion operations.
Sun, Jun 19, 7:01 PM · Restricted Project, Restricted Project
SixWeining committed rG2ef7c4ce4662: [LoongArch] Perform `and` combination with a shifted mask (authored by SixWeining).
[LoongArch] Perform `and` combination with a shifted mask
Sun, Jun 19, 6:59 PM · Restricted Project, Restricted Project
SixWeining closed D127206: [LoongArch] Perform `and` combination with a shifted mask.
Sun, Jun 19, 6:58 PM · Restricted Project, Restricted Project
SixWeining committed rG709e4ad0d9f0: [LoongArch] Add codegen support for the bitwise binary operations and part of… (authored by SixWeining).
[LoongArch] Add codegen support for the bitwise binary operations and part of…
Sun, Jun 19, 6:57 PM · Restricted Project, Restricted Project
SixWeining closed D127203: [LoongArch] Add codegen support for the bitwise binary operations and part of other operations.
Sun, Jun 19, 6:57 PM · Restricted Project, Restricted Project
SixWeining committed rGefc70058d90d: [LoongArch] Add codegen support for fneg (authored by SixWeining).
[LoongArch] Add codegen support for fneg
Sun, Jun 19, 6:54 PM · Restricted Project, Restricted Project
SixWeining closed D127200: [LoongArch] Add codegen support for fneg.
Sun, Jun 19, 6:54 PM · Restricted Project, Restricted Project
SixWeining committed rGa9921155450a: [LoongArch] Add codegen support for the binary operations (authored by SixWeining).
[LoongArch] Add codegen support for the binary operations
Sun, Jun 19, 6:44 PM · Restricted Project, Restricted Project
SixWeining closed D127199: [LoongArch] Add codegen support for the binary operations.
Sun, Jun 19, 6:44 PM · Restricted Project, Restricted Project

Fri, Jun 17

SixWeining added a comment to D127203: [LoongArch] Add codegen support for the bitwise binary operations and part of other operations.

Does anyone have more comments on this patch? We still have a lot of patches waiting to be submitted after this one getting approved and landed. Thanks. ;-)

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

Thu, Jun 16

SixWeining added a comment to D127203: [LoongArch] Add codegen support for the bitwise binary operations and part of other operations.

Thinking about the discrepancy harder, you may want to do an experiment (movcf2gr into a register pre-filled with some non-trivial content) to see which version is correct. I don't know if the translators actually *fixed* the original manual during translation (because they have no permission to alter the original document AFAIK).

Thu, Jun 16, 11:50 PM · Restricted Project, Restricted Project
SixWeining updated the diff for D127203: [LoongArch] Add codegen support for the bitwise binary operations and part of other operations.

remove unnecessary andi 1 after movcf2gr

Thu, Jun 16, 11:22 PM · Restricted Project, Restricted Project
SixWeining added inline comments to D127203: [LoongArch] Add codegen support for the bitwise binary operations and part of other operations.
Thu, Jun 16, 11:17 PM · Restricted Project, Restricted Project
SixWeining updated the diff for D127203: [LoongArch] Add codegen support for the bitwise binary operations and part of other operations.

Remove redundant tests in xor.ll and add missing test or.ll.

Thu, Jun 16, 2:34 AM · Restricted Project, Restricted Project
SixWeining added inline comments to D127203: [LoongArch] Add codegen support for the bitwise binary operations and part of other operations.
Thu, Jun 16, 2:17 AM · Restricted Project, Restricted Project
SixWeining updated the diff for D127203: [LoongArch] Add codegen support for the bitwise binary operations and part of other operations.

Address @xen0n's comments that removing redundant tests. Thanks.

Thu, Jun 16, 2:13 AM · Restricted Project, Restricted Project

Wed, Jun 15

SixWeining added inline comments to D127203: [LoongArch] Add codegen support for the bitwise binary operations and part of other operations.
Wed, Jun 15, 11:42 PM · Restricted Project, Restricted Project
SixWeining committed rG70f2befaf7ad: [LoongArch] Use register R0 (ZERO) for constant 0 (authored by SixWeining).
[LoongArch] Use register R0 (ZERO) for constant 0
Wed, Jun 15, 10:45 PM · Restricted Project, Restricted Project
SixWeining closed D127205: [LoongArch] Use register R0 (ZERO) for constant 0.
Wed, Jun 15, 10:44 PM · Restricted Project, Restricted Project
SixWeining added a comment to D127203: [LoongArch] Add codegen support for the bitwise binary operations and part of other operations.

A polite ping. Hi @xen0n, do you have any comments? Thanks.

Wed, Jun 15, 8:58 PM · Restricted Project, Restricted Project

Mon, Jun 13

SixWeining updated the summary of D127204: [LoongArch] Add codegen support for part of conversion operations.
Mon, Jun 13, 6:16 AM · Restricted Project, Restricted Project
SixWeining updated the summary of D127206: [LoongArch] Perform `and` combination with a shifted mask.
Mon, Jun 13, 6:15 AM · Restricted Project, Restricted Project
SixWeining updated the summary of D127199: [LoongArch] Add codegen support for the binary operations.
Mon, Jun 13, 6:13 AM · Restricted Project, Restricted Project
SixWeining updated the summary of D127205: [LoongArch] Use register R0 (ZERO) for constant 0.
Mon, Jun 13, 6:13 AM · Restricted Project, Restricted Project
SixWeining updated the diff for D127204: [LoongArch] Add codegen support for part of conversion operations.

adjust the dependency

Mon, Jun 13, 6:05 AM · Restricted Project, Restricted Project
SixWeining updated the diff for D127206: [LoongArch] Perform `and` combination with a shifted mask.

adjust the dependency

Mon, Jun 13, 6:04 AM · Restricted Project, Restricted Project
SixWeining updated the diff for D127203: [LoongArch] Add codegen support for the bitwise binary operations and part of other operations.

adjust the dependency

Mon, Jun 13, 6:02 AM · Restricted Project, Restricted Project
SixWeining updated the diff for D127200: [LoongArch] Add codegen support for fneg.

adjust the dependency

Mon, Jun 13, 6:01 AM · Restricted Project, Restricted Project
SixWeining updated the diff for D127199: [LoongArch] Add codegen support for the binary operations.

adjust the dependency

Mon, Jun 13, 6:00 AM · Restricted Project, Restricted Project
SixWeining updated the diff for D127205: [LoongArch] Use register R0 (ZERO) for constant 0.

reverse the dependency

Mon, Jun 13, 5:05 AM · Restricted Project, Restricted Project
SixWeining added a comment to D127205: [LoongArch] Use register R0 (ZERO) for constant 0.

There are still many changes to sext-zext-trunc.ll

Mon, Jun 13, 12:53 AM · Restricted Project, Restricted Project

Sun, Jun 12

SixWeining updated the diff for D127206: [LoongArch] Perform `and` combination with a shifted mask.

Use ;; to emphasize non-RUN non-CHECK lines.

Sun, Jun 12, 6:07 PM · Restricted Project, Restricted Project

Sat, Jun 11

SixWeining updated the diff for D127206: [LoongArch] Perform `and` combination with a shifted mask.

rebase

Sat, Jun 11, 8:35 PM · Restricted Project, Restricted Project
SixWeining updated the diff for D127205: [LoongArch] Use register R0 (ZERO) for constant 0.

rebase

Sat, Jun 11, 8:35 PM · Restricted Project, Restricted Project
SixWeining updated the diff for D127204: [LoongArch] Add codegen support for part of conversion operations.

rebase

Sat, Jun 11, 8:34 PM · Restricted Project, Restricted Project
SixWeining updated the diff for D127203: [LoongArch] Add codegen support for the bitwise binary operations and part of other operations.

rebase

Sat, Jun 11, 8:33 PM · Restricted Project, Restricted Project
SixWeining updated the diff for D127200: [LoongArch] Add codegen support for fneg.

Address @MaskRay's comment: use ;; to emphasize non-RUN non-CHECK lines.

Sat, Jun 11, 8:06 PM · Restricted Project, Restricted Project
SixWeining updated the diff for D127199: [LoongArch] Add codegen support for the binary operations.

Address @MaskRay's comment in D127200: use ;; to emphasize non-RUN non-CHECK lines.

Sat, Jun 11, 8:02 PM · Restricted Project, Restricted Project
SixWeining updated the diff for D127199: [LoongArch] Add codegen support for the binary operations.

Fix clang-format issue.

Sat, Jun 11, 7:51 PM · Restricted Project, Restricted Project
SixWeining updated the summary of D127199: [LoongArch] Add codegen support for the binary operations.
Sat, Jun 11, 7:48 PM · Restricted Project, Restricted Project
SixWeining committed rG45963ae06d2b: [LoongArch] clang-format some code in LoongArchISelLowering.cpp. NFC (authored by SixWeining).
[LoongArch] clang-format some code in LoongArchISelLowering.cpp. NFC
Sat, Jun 11, 7:43 PM · Restricted Project, Restricted Project
SixWeining updated the diff for D127199: [LoongArch] Add codegen support for the binary operations.

Address @MaskRay's comments:

  1. Revise the title.
  2. Remove necessary static keywords.
Sat, Jun 11, 7:39 PM · Restricted Project, Restricted Project
SixWeining committed rG229e08ce99cd: [LoongArch] Remove unnecessary `static` keyword as `const` has internal linkage. (authored by SixWeining).
[LoongArch] Remove unnecessary `static` keyword as `const` has internal linkage.
Sat, Jun 11, 7:31 PM · Restricted Project, Restricted Project

Fri, Jun 10

SixWeining updated the summary of D127204: [LoongArch] Add codegen support for part of conversion operations.
Fri, Jun 10, 9:06 PM · Restricted Project, Restricted Project
SixWeining added a comment to D127205: [LoongArch] Use register R0 (ZERO) for constant 0.

Depends on D127204

The dependency is inverted.

I think this should be placed before other patches.

The reason why I place it after other patches is that we can obviously see the improvements from the test (introduced by early patches) updates. If this is not good, I can revert the dependency. There is no problem. Thanks.

If you think it's worthwhile, you can mention this in D127204's summary. No need to add unnecessary intermediate steps to the tests to show the effect.

Fri, Jun 10, 8:59 PM · Restricted Project, Restricted Project
SixWeining added a comment to D127205: [LoongArch] Use register R0 (ZERO) for constant 0.

Depends on D127204

The dependency is inverted.

I think this should be placed before other patches.

Fri, Jun 10, 8:52 PM · Restricted Project, Restricted Project

Thu, Jun 9

SixWeining retitled D127206: [LoongArch] Perform `and` combination with a shifted mask from [LoongArch 6/n] Perform `and` combination with a shifted mask to [LoongArch] Perform `and` combination with a shifted mask.
Thu, Jun 9, 7:11 PM · Restricted Project, Restricted Project
SixWeining updated the diff for D127206: [LoongArch] Perform `and` combination with a shifted mask.

Remove the patch number in the title.

Thu, Jun 9, 7:11 PM · Restricted Project, Restricted Project
SixWeining retitled D127205: [LoongArch] Use register R0 (ZERO) for constant 0 from [LoongArch 5/n] Use register R0 (ZERO) for constant 0 to [LoongArch] Use register R0 (ZERO) for constant 0.
Thu, Jun 9, 7:08 PM · Restricted Project, Restricted Project
SixWeining updated the diff for D127205: [LoongArch] Use register R0 (ZERO) for constant 0.
  1. Address @MaskRay's comment by moving imm0 testing to the top of the test file.
  2. Remove the patch number in the title.
Thu, Jun 9, 7:08 PM · Restricted Project, Restricted Project
SixWeining retitled D127204: [LoongArch] Add codegen support for part of conversion operations from [LoongArch 4/n] Add codegen support for part of conversion operations to [LoongArch] Add codegen support for part of conversion operations.
Thu, Jun 9, 7:02 PM · Restricted Project, Restricted Project
SixWeining updated the diff for D127204: [LoongArch] Add codegen support for part of conversion operations.

Remove the patch number in the title.

Thu, Jun 9, 7:02 PM · Restricted Project, Restricted Project
SixWeining retitled D127203: [LoongArch] Add codegen support for the bitwise binary operations and part of other operations from [LoongArch 3/n] Add codegen support for the bitwise binary operations and part of other operations to [LoongArch] Add codegen support for the bitwise binary operations and part of other operations.
Thu, Jun 9, 7:00 PM · Restricted Project, Restricted Project
SixWeining updated the diff for D127203: [LoongArch] Add codegen support for the bitwise binary operations and part of other operations.

Remove the patch number in the title.

Thu, Jun 9, 7:00 PM · Restricted Project, Restricted Project
SixWeining updated the diff for D127200: [LoongArch] Add codegen support for fneg.

Remove the patch number in the title. (I already remove it in Phabricator yesterday.)

Thu, Jun 9, 6:58 PM · Restricted Project, Restricted Project
SixWeining retitled D127199: [LoongArch] Add codegen support for the binary operations from [LoongArch 1/n] Add codegen support for the binary operations to [LoongArch] Add codegen support for the binary operations.
Thu, Jun 9, 6:51 PM · Restricted Project, Restricted Project
SixWeining updated the diff for D127199: [LoongArch] Add codegen support for the binary operations.

Remove the patch number in the title.

Thu, Jun 9, 6:51 PM · Restricted Project, Restricted Project
SixWeining added a comment to D127206: [LoongArch] Perform `and` combination with a shifted mask.

It seems only the (x >> shamt) & mask case is handled, but not (x & in_place_mask) >> shamt; is this an intentional simplification? The current behavior is good though.

Thu, Jun 9, 6:45 PM · Restricted Project, Restricted Project
SixWeining added inline comments to D127205: [LoongArch] Use register R0 (ZERO) for constant 0.
Thu, Jun 9, 2:10 AM · Restricted Project, Restricted Project
SixWeining added a comment to D127203: [LoongArch] Add codegen support for the bitwise binary operations and part of other operations.

This is big, and I hope to finish reviewing within this week. Just commenting to let you know ;-)

Thu, Jun 9, 2:08 AM · Restricted Project, Restricted Project
SixWeining added a comment to D127200: [LoongArch] Add codegen support for fneg.

This is just one fneg so you may change the title to just "[LoongArch] Add codegen support for fneg" instead.

Otherwise it looks good!

Thu, Jun 9, 2:04 AM · Restricted Project, Restricted Project
SixWeining retitled D127200: [LoongArch] Add codegen support for fneg from [LoongArch 2/n] Add codegen support for the unary operation to [LoongArch] Add codegen support for fneg.
Thu, Jun 9, 2:03 AM · Restricted Project, Restricted Project

Wed, Jun 8

SixWeining updated the diff for D127205: [LoongArch] Use register R0 (ZERO) for constant 0.

Address @myhsu's comment. Thanks.

Wed, Jun 8, 6:55 PM · Restricted Project, Restricted Project
SixWeining updated the diff for D127206: [LoongArch] Perform `and` combination with a shifted mask.

rebase

Wed, Jun 8, 1:18 AM · Restricted Project, Restricted Project
SixWeining updated the diff for D127204: [LoongArch] Add codegen support for part of conversion operations.

Update the testcase since the parent commit is updated just now.

Wed, Jun 8, 1:15 AM · Restricted Project, Restricted Project
SixWeining updated the diff for D127203: [LoongArch] Add codegen support for the bitwise binary operations and part of other operations.

Add the missing update to shift-masked-shamt.ll

Wed, Jun 8, 1:12 AM · Restricted Project, Restricted Project