Page MenuHomePhabricator

LiuChen3 (LiuChen)
User

Projects

User does not belong to any projects.

User Details

User Since
Sep 9 2019, 7:00 PM (185 w, 4 d)

Recent Activity

Aug 10 2022

LiuChen3 abandoned D131134: [X86] Report error if the amx enabled on the non-64-bits target.
Aug 10 2022, 8:04 PM · Restricted Project, Restricted Project
LiuChen3 added a comment to D131134: [X86] Report error if the amx enabled on the non-64-bits target.

What problem are we trying to solve here? CPUID reports AMX as supported even in 32-bit mode. Why can't the user pass it to the compiler?

Aug 10 2022, 8:03 PM · Restricted Project, Restricted Project

Aug 8 2022

LiuChen3 updated the diff for D131134: [X86] Report error if the amx enabled on the non-64-bits target.

change the error report

Aug 8 2022, 1:17 AM · Restricted Project, Restricted Project

Aug 7 2022

LiuChen3 updated the diff for D131134: [X86] Report error if the amx enabled on the non-64-bits target.

fix lit fail and handle '-march=native'

Aug 7 2022, 11:00 PM · Restricted Project, Restricted Project

Aug 5 2022

LiuChen3 added a comment to D131134: [X86] Report error if the amx enabled on the non-64-bits target.

How does this interact with -march=native -m32. Won't that pick up the amx flag from CPUID?

Aug 5 2022, 1:42 AM · Restricted Project, Restricted Project
LiuChen3 added a comment to D131134: [X86] Report error if the amx enabled on the non-64-bits target.

How does this interact with -march=native -m32. Won't that pick up the amx flag from CPUID?

Aug 5 2022, 1:37 AM · Restricted Project, Restricted Project

Aug 3 2022

LiuChen3 added reviewers for D131134: [X86] Report error if the amx enabled on the non-64-bits target: pengfei, craig.topper, LuoYuanke, MaskRay.
Aug 3 2022, 6:02 PM · Restricted Project, Restricted Project
LiuChen3 requested review of D131134: [X86] Report error if the amx enabled on the non-64-bits target.
Aug 3 2022, 6:01 PM · Restricted Project, Restricted Project
LiuChen3 committed rG5bbb0a831fe5: [X86] Using `X86MemOperand` instead of `Operand` for `i32mem_TC` and `i64mem_TC` (authored by LiuChen3).
[X86] Using `X86MemOperand` instead of `Operand` for `i32mem_TC` and `i64mem_TC`
Aug 3 2022, 1:18 AM · Restricted Project, Restricted Project
LiuChen3 closed D131049: [X86] Using `X86MemOperand` instead of `Operand` for `i32mem_TC` and `i64mem_TC`.
Aug 3 2022, 1:18 AM · Restricted Project, Restricted Project
LiuChen3 retitled D131049: [X86] Using `X86MemOperand` instead of `Operand` for `i32mem_TC` and `i64mem_TC` from [X86][NFC] Using `X86MemOperand` instead of `Operand` for `i32mem_TC` and `i64mem_TC` to [X86] Using `X86MemOperand` instead of `Operand` for `i32mem_TC` and `i64mem_TC`.
Aug 3 2022, 1:12 AM · Restricted Project, Restricted Project
LiuChen3 added a comment to D131049: [X86] Using `X86MemOperand` instead of `Operand` for `i32mem_TC` and `i64mem_TC`.

Remove NFC in the title? I think this patch is used to fix the build error for auto-generating X86 memory folding table.

Aug 3 2022, 12:59 AM · Restricted Project, Restricted Project

Aug 2 2022

LiuChen3 added reviewers for D131049: [X86] Using `X86MemOperand` instead of `Operand` for `i32mem_TC` and `i64mem_TC`: pengfei, skan, craig.topper.
Aug 2 2022, 11:43 PM · Restricted Project, Restricted Project
LiuChen3 requested review of D131049: [X86] Using `X86MemOperand` instead of `Operand` for `i32mem_TC` and `i64mem_TC`.
Aug 2 2022, 11:42 PM · Restricted Project, Restricted Project
LiuChen3 added a comment to D124435: [X86] Always extend the integer parameters in callee.

I find the option names you have a bit confusing. I'd like to suggest calling them, instead:

caller: Extend a small integer parameter in the caller; callee will assume it has already been extended.
callee : Pass a small integer parameter directly in caller, extend in callee when converting to full-width.
both: Extend a small integer parameter in the caller; callee ALSO extends when converting to full-width.
default: Use the default rule for the target.

I think that gets more to the point of what's going on here, even though it's not exactly the case that "callee" always extends.

Aug 2 2022, 2:17 AM · Restricted Project, Restricted Project
LiuChen3 added a comment to D124435: [X86] Always extend the integer parameters in callee.

Sorry for the late update. I hope you can take the time to continue reviewing, @rjmccall .
I'm not sure if I understand you correctly. Now if the -mextend-small-integers=default is used, compiler will report error.

Aug 2 2022, 2:15 AM · Restricted Project, Restricted Project
LiuChen3 updated the diff for D124435: [X86] Always extend the integer parameters in callee.

rebase and address rjmccall's comments

Aug 2 2022, 2:09 AM · Restricted Project, Restricted Project

May 16 2022

LiuChen3 added a comment to D124435: [X86] Always extend the integer parameters in callee.

Thanks, @rjmccall . I'm sorry I don't have much time on this patch recently. I will update it later.

May 16 2022, 1:48 AM · Restricted Project, Restricted Project

May 6 2022

LiuChen3 updated the summary of D124435: [X86] Always extend the integer parameters in callee.
May 6 2022, 1:53 AM · Restricted Project, Restricted Project
LiuChen3 updated the diff for D124435: [X86] Always extend the integer parameters in callee.

Use -mextend-small-integers=<arg> instead of boolean option

May 6 2022, 1:22 AM · Restricted Project, Restricted Project

Apr 27 2022

LiuChen3 added inline comments to D124435: [X86] Always extend the integer parameters in callee.
Apr 27 2022, 3:23 AM · Restricted Project, Restricted Project
LiuChen3 added inline comments to D124435: [X86] Always extend the integer parameters in callee.
Apr 27 2022, 12:28 AM · Restricted Project, Restricted Project
LiuChen3 added reviewers for D124435: [X86] Always extend the integer parameters in callee: RKSimon, probinson.
Apr 27 2022, 12:24 AM · Restricted Project, Restricted Project
LiuChen3 added a comment to D124435: [X86] Always extend the integer parameters in callee.

Should we update the clang/docs/ReleaseNotes.rst for this?

Apr 27 2022, 12:23 AM · Restricted Project, Restricted Project
LiuChen3 updated the diff for D124435: [X86] Always extend the integer parameters in callee.

add one missing comment

Apr 27 2022, 12:19 AM · Restricted Project, Restricted Project
LiuChen3 added inline comments to D124435: [X86] Always extend the integer parameters in callee.
Apr 27 2022, 12:14 AM · Restricted Project, Restricted Project
LiuChen3 updated the diff for D124435: [X86] Always extend the integer parameters in callee.

Address comments

Apr 27 2022, 12:07 AM · Restricted Project, Restricted Project

Apr 26 2022

LiuChen3 added inline comments to D124435: [X86] Always extend the integer parameters in callee.
Apr 26 2022, 11:29 PM · Restricted Project, Restricted Project
LiuChen3 added inline comments to D124435: [X86] Always extend the integer parameters in callee.
Apr 26 2022, 6:19 AM · Restricted Project, Restricted Project
LiuChen3 added inline comments to D124435: [X86] Always extend the integer parameters in callee.
Apr 26 2022, 3:34 AM · Restricted Project, Restricted Project
LiuChen3 added a comment to D124435: [X86] Always extend the integer parameters in callee.

Should we update the clang/docs/ReleaseNotes.rst for this?

Apr 26 2022, 2:59 AM · Restricted Project, Restricted Project
LiuChen3 updated the diff for D124435: [X86] Always extend the integer parameters in callee.

fix bug

Apr 26 2022, 12:27 AM · Restricted Project, Restricted Project
LiuChen3 added reviewers for D124435: [X86] Always extend the integer parameters in callee: rjmccall, rnk, pengfei, jyknight, emilio, LuoYuanke, skan, craig.topper.
Apr 26 2022, 12:15 AM · Restricted Project, Restricted Project
LiuChen3 requested review of D124435: [X86] Always extend the integer parameters in callee.
Apr 26 2022, 12:08 AM · Restricted Project, Restricted Project

Apr 20 2022

LiuChen3 added inline comments to D124067: [x86] Support 3 builtin functions for 32-bits targets.
Apr 20 2022, 1:53 AM · Restricted Project, Restricted Project

Apr 19 2022

LiuChen3 added a comment to D122963: [X86] Extend the integer parameter if the function isn't local linked.

I think you need to add a new ConservativeExtend kind to ABIArgInfo and make X86_64ABIInfo::classifyArgumentType (and classifyReturnType?) use that instead of Extend.

Apr 19 2022, 11:43 PM · Restricted Project, Restricted Project
LiuChen3 added a comment to D122963: [X86] Extend the integer parameter if the function isn't local linked.

If people think that we'll reliably get the right behavior by the frontend adding sext and zext to call sites but not to function arguments, I can walk you through how to make that change in the frontend.

What we can't do in the frontend is just switch to unconditionally not using sext and zext at all on x86_64, because we need to maintain compatibility with old versions of clang. But we can introduce a flag that makes clang generate incompatible code if someone wants to opt in to it for performance.

Apr 19 2022, 10:41 PM · Restricted Project, Restricted Project
LiuChen3 added a comment to D122963: [X86] Extend the integer parameter if the function isn't local linked.

According to our internal tests, the performance of most of the tests is not affected. The most affected test performance dropped by %0.76. Average performance dropped 0.25%. This matches our expectations

Apr 19 2022, 7:19 PM · Restricted Project, Restricted Project

Apr 18 2022

LiuChen3 added a comment to D122963: [X86] Extend the integer parameter if the function isn't local linked.

If there is no better solution, I hope this patch merge in. This is a bug that needs to be fixed.

Apr 18 2022, 2:16 AM · Restricted Project, Restricted Project
LiuChen3 updated the diff for D122963: [X86] Extend the integer parameter if the function isn't local linked.

rebase

Apr 18 2022, 2:14 AM · Restricted Project, Restricted Project

Apr 13 2022

LiuChen3 committed rGbf60a5af0a21: [X86] Covert unsigned int 0 to float-point with FILD instruction. (authored by LiuChen3).
[X86] Covert unsigned int 0 to float-point with FILD instruction.
Apr 13 2022, 5:07 AM · Restricted Project, Restricted Project
LiuChen3 closed D123660: [X86] Covert unsigned int 0 to float-point with FILD instruction..
Apr 13 2022, 5:06 AM · Restricted Project, Restricted Project
LiuChen3 updated the diff for D123660: [X86] Covert unsigned int 0 to float-point with FILD instruction..

Address Phoebe's comments: remove 32-bit target check.

Apr 13 2022, 3:11 AM · Restricted Project, Restricted Project
LiuChen3 added inline comments to D123660: [X86] Covert unsigned int 0 to float-point with FILD instruction..
Apr 13 2022, 1:36 AM · Restricted Project, Restricted Project
LiuChen3 added inline comments to D123660: [X86] Covert unsigned int 0 to float-point with FILD instruction..
Apr 13 2022, 1:29 AM · Restricted Project, Restricted Project
LiuChen3 added reviewers for D123660: [X86] Covert unsigned int 0 to float-point with FILD instruction.: pengfei, craig.topper.
Apr 13 2022, 12:35 AM · Restricted Project, Restricted Project
LiuChen3 requested review of D123660: [X86] Covert unsigned int 0 to float-point with FILD instruction..
Apr 13 2022, 12:34 AM · Restricted Project, Restricted Project

Apr 11 2022

LiuChen3 added a comment to D122963: [X86] Extend the integer parameter if the function isn't local linked.

Ping? This bug will cause correctness issues, we need to fix it. I think it is possible to fix in the backend in the current situation.
Is there any other better method, @jyknight @lebedev.ri

Apr 11 2022, 12:43 AM · Restricted Project, Restricted Project

Apr 7 2022

LiuChen3 added a comment to D122963: [X86] Extend the integer parameter if the function isn't local linked.

It seems we all agree we should extend the parameter both in caller and in callee. This is also the behavior of gcc.
For now, the front-end doesn't have an accurate attribute that describes what we're expecting right now and doesn't know whether the function is external linked. By default clang will do the extension only in the caller. This forced us to do some workarounds on the backend.
We also thought about setting these attributes correctly in the IPO, but is there any possibility that IPO won't do in some cases?
D112942 introduces a new parameter attribute NoExt might help us. But this still means that by default, we will do extension in both caller and callee. And only in some optimization cases, we will do extension in caller or callee. Still not the ideal method that lebedev.ri expected.
Besides, I think that as an ABI issue, the correctness should be guaranteed first, optimization is not always guaranteed.
@lebedev.ri, is there any better approach to fix this issue?

Apr 7 2022, 7:42 PM · Restricted Project, Restricted Project
LiuChen3 added a comment to D122963: [X86] Extend the integer parameter if the function isn't local linked.

Still not okay with it. The fix is to fix whatever is emitting the attribute, not completely ignore it.

Apr 7 2022, 3:05 AM · Restricted Project, Restricted Project
LiuChen3 updated the diff for D122963: [X86] Extend the integer parameter if the function isn't local linked.

Address Shenchen's comment

Apr 7 2022, 2:45 AM · Restricted Project, Restricted Project
LiuChen3 added inline comments to D122963: [X86] Extend the integer parameter if the function isn't local linked.
Apr 7 2022, 12:01 AM · Restricted Project, Restricted Project

Apr 6 2022

LiuChen3 retitled D122963: [X86] Extend the integer parameter if the function isn't local linked from [X86] Always extend the integer arguments of callee. to [X86] Extend the integer parameter if the function isn't local linked.
Apr 6 2022, 10:49 PM · Restricted Project, Restricted Project
LiuChen3 updated the diff for D122963: [X86] Extend the integer parameter if the function isn't local linked.

Address Yuanke's comments: do the extension only if the function isn't local linked.

Apr 6 2022, 10:46 PM · Restricted Project, Restricted Project

Apr 1 2022

LiuChen3 added reviewers for D122963: [X86] Extend the integer parameter if the function isn't local linked: craig.topper, pengfei, jyknight, LuoYuanke, emilio, rjmccall.
Apr 1 2022, 10:49 PM · Restricted Project, Restricted Project
LiuChen3 requested review of D122963: [X86] Extend the integer parameter if the function isn't local linked.
Apr 1 2022, 10:47 PM · Restricted Project, Restricted Project

Jan 24 2022

LiuChen3 committed rGf6984b299afc: Fix the wrong value of bit_AVXVNNI (authored by LiuChen3).
Fix the wrong value of bit_AVXVNNI
Jan 24 2022, 10:42 PM
LiuChen3 closed D118103: [X86]Fix the wrong value of bit_AVXVNNI.
Jan 24 2022, 10:42 PM · Restricted Project
LiuChen3 added inline comments to D89105: [X86] Support Intel avxvnni.
Jan 24 2022, 10:16 PM · Restricted Project, Restricted Project
LiuChen3 requested review of D118103: [X86]Fix the wrong value of bit_AVXVNNI.
Jan 24 2022, 10:15 PM · Restricted Project

Sep 27 2021

LiuChen3 added a comment to D110606: [X86][FP16] Fix a bug when Combine the FADD(A, FMA(B, C, 0)) to FMA(B, C, A)..

Thanks for you review.

Sep 27 2021, 8:39 PM · Restricted Project
LiuChen3 committed rG57e8f840b6d3: [X86][FP16] Fix a bug when Combine the FADD(A, FMA(B, C, 0)) to FMA(B, C, A). (authored by LiuChen3).
[X86][FP16] Fix a bug when Combine the FADD(A, FMA(B, C, 0)) to FMA(B, C, A).
Sep 27 2021, 8:39 PM
LiuChen3 closed D110606: [X86][FP16] Fix a bug when Combine the FADD(A, FMA(B, C, 0)) to FMA(B, C, A)..
Sep 27 2021, 8:39 PM · Restricted Project
LiuChen3 added a comment to D110606: [X86][FP16] Fix a bug when Combine the FADD(A, FMA(B, C, 0)) to FMA(B, C, A)..

Can you take a review again and +1 if no problem? I missed changing some testcases. Thanks.

Sep 27 2021, 8:16 PM · Restricted Project
LiuChen3 updated the diff for D110606: [X86][FP16] Fix a bug when Combine the FADD(A, FMA(B, C, 0)) to FMA(B, C, A)..

Fix check-all fail.

Sep 27 2021, 8:14 PM · Restricted Project
LiuChen3 added reviewers for D110606: [X86][FP16] Fix a bug when Combine the FADD(A, FMA(B, C, 0)) to FMA(B, C, A).: pengfei, FreddyYe.
Sep 27 2021, 6:42 PM · Restricted Project
LiuChen3 requested review of D110606: [X86][FP16] Fix a bug when Combine the FADD(A, FMA(B, C, 0)) to FMA(B, C, A)..
Sep 27 2021, 6:42 PM · Restricted Project

Sep 23 2021

LiuChen3 added a comment to D109953: [X86][FP16] Combine the FADD(A, FMA(B, C, 0)) to FMA(B, C, A).

Thanks for you review. The order of operand is changed in final commit: The addend of FMA builtin is moved from the first to the third.

Sep 23 2021, 12:46 AM · Restricted Project
LiuChen3 committed rG76656ec8ec53: [X86][FP16] Combine the FADD(A, FMA(B, C, 0)) to FMA(B, C, A) (authored by LiuChen3).
[X86][FP16] Combine the FADD(A, FMA(B, C, 0)) to FMA(B, C, A)
Sep 23 2021, 12:37 AM
LiuChen3 closed D109953: [X86][FP16] Combine the FADD(A, FMA(B, C, 0)) to FMA(B, C, A).
Sep 23 2021, 12:37 AM · Restricted Project

Sep 22 2021

LiuChen3 updated the diff for D109953: [X86][FP16] Combine the FADD(A, FMA(B, C, 0)) to FMA(B, C, A).

Address comments.

Sep 22 2021, 11:02 PM · Restricted Project
LiuChen3 updated the diff for D109953: [X86][FP16] Combine the FADD(A, FMA(B, C, 0)) to FMA(B, C, A).
  1. Remove redundant option checkRemove redundant option check.
  2. Reformat.
Sep 22 2021, 8:27 PM · Restricted Project
LiuChen3 added inline comments to D109953: [X86][FP16] Combine the FADD(A, FMA(B, C, 0)) to FMA(B, C, A).
Sep 22 2021, 6:33 AM · Restricted Project
LiuChen3 added inline comments to D109953: [X86][FP16] Combine the FADD(A, FMA(B, C, 0)) to FMA(B, C, A).
Sep 22 2021, 1:56 AM · Restricted Project
LiuChen3 updated the diff for D109953: [X86][FP16] Combine the FADD(A, FMA(B, C, 0)) to FMA(B, C, A).

Distinguish 0.0 and -0.0 in FMA.

Sep 22 2021, 1:53 AM · Restricted Project

Sep 17 2021

LiuChen3 retitled D109953: [X86][FP16] Combine the FADD(A, FMA(B, C, 0)) to FMA(B, C, A) from [X86] Combine the FADD(A, FMA(B, C, 0)) to FMA(B, C, A) to [X86][FP16] Combine the FADD(A, FMA(B, C, 0)) to FMA(B, C, A).
Sep 17 2021, 11:01 PM · Restricted Project
LiuChen3 updated the diff for D109953: [X86][FP16] Combine the FADD(A, FMA(B, C, 0)) to FMA(B, C, A).

Adress comments

Sep 17 2021, 11:01 PM · Restricted Project
LiuChen3 updated the diff for D109953: [X86][FP16] Combine the FADD(A, FMA(B, C, 0)) to FMA(B, C, A).

Adress comments.

Sep 17 2021, 7:34 AM · Restricted Project
LiuChen3 added inline comments to D109953: [X86][FP16] Combine the FADD(A, FMA(B, C, 0)) to FMA(B, C, A).
Sep 17 2021, 7:25 AM · Restricted Project
LiuChen3 added inline comments to D109953: [X86][FP16] Combine the FADD(A, FMA(B, C, 0)) to FMA(B, C, A).
Sep 17 2021, 7:19 AM · Restricted Project
LiuChen3 updated the diff for D109953: [X86][FP16] Combine the FADD(A, FMA(B, C, 0)) to FMA(B, C, A).

Adress comments.

Sep 17 2021, 6:35 AM · Restricted Project
LiuChen3 updated the diff for D109953: [X86][FP16] Combine the FADD(A, FMA(B, C, 0)) to FMA(B, C, A).

Address comments

Sep 17 2021, 4:19 AM · Restricted Project
LiuChen3 added inline comments to D109953: [X86][FP16] Combine the FADD(A, FMA(B, C, 0)) to FMA(B, C, A).
Sep 17 2021, 1:54 AM · Restricted Project
LiuChen3 added a reviewer for D109953: [X86][FP16] Combine the FADD(A, FMA(B, C, 0)) to FMA(B, C, A): FreddyYe.
Sep 17 2021, 12:41 AM · Restricted Project
LiuChen3 added reviewers for D109953: [X86][FP16] Combine the FADD(A, FMA(B, C, 0)) to FMA(B, C, A): pengfei, LuoYuanke, craig.topper.
Sep 17 2021, 12:41 AM · Restricted Project
LiuChen3 requested review of D109953: [X86][FP16] Combine the FADD(A, FMA(B, C, 0)) to FMA(B, C, A).
Sep 17 2021, 12:40 AM · Restricted Project

Sep 9 2021

LiuChen3 added a comment to D109564: [X86][NFC] Remove unused encoding string: VK[1/2/4/8/16]PAIR.

Thanks for reviewing this patch!

Sep 9 2021, 10:44 PM · Restricted Project
LiuChen3 committed rG7f793b102c9a: [X86][NFC] Remove unused encoding string: VK[1/2/4/8/16]PAIR (authored by LiuChen3).
[X86][NFC] Remove unused encoding string: VK[1/2/4/8/16]PAIR
Sep 9 2021, 10:43 PM
LiuChen3 closed D109564: [X86][NFC] Remove unused encoding string: VK[1/2/4/8/16]PAIR.
Sep 9 2021, 10:43 PM · Restricted Project
LiuChen3 added reviewers for D109564: [X86][NFC] Remove unused encoding string: VK[1/2/4/8/16]PAIR: pengfei, craig.topper, LuoYuanke, xiangzhangllvm.
Sep 9 2021, 8:15 PM · Restricted Project
LiuChen3 requested review of D109564: [X86][NFC] Remove unused encoding string: VK[1/2/4/8/16]PAIR.
Sep 9 2021, 8:13 PM · Restricted Project

Aug 23 2021

LiuChen3 committed rGb7795eb6469c: [X86] Building constant vector which element type is half will cause assertion… (authored by LiuChen3).
[X86] Building constant vector which element type is half will cause assertion…
Aug 23 2021, 11:35 PM
LiuChen3 closed D108612: [X86] Building constant vector which element type is half will cause assertion fail..
Aug 23 2021, 11:35 PM · Restricted Project
LiuChen3 updated the diff for D108612: [X86] Building constant vector which element type is half will cause assertion fail..

Address pengfei's comments.

Aug 23 2021, 11:15 PM · Restricted Project
LiuChen3 added reviewers for D108612: [X86] Building constant vector which element type is half will cause assertion fail.: pengfei, craig.topper, LuoYuanke.
Aug 23 2021, 11:05 PM · Restricted Project
LiuChen3 requested review of D108612: [X86] Building constant vector which element type is half will cause assertion fail..
Aug 23 2021, 11:03 PM · Restricted Project

Aug 1 2021

LiuChen3 added inline comments to D100015: [debug-info] make fortran CHARACTER(1) type as valid unsigned type.
Aug 1 2021, 5:55 PM · Restricted Project, debug-info
LiuChen3 added inline comments to D100015: [debug-info] make fortran CHARACTER(1) type as valid unsigned type.
Aug 1 2021, 5:47 PM · Restricted Project, debug-info

Jul 31 2021

LiuChen3 added inline comments to D100015: [debug-info] make fortran CHARACTER(1) type as valid unsigned type.
Jul 31 2021, 8:12 PM · Restricted Project, debug-info

Jul 29 2021

LiuChen3 added inline comments to D100015: [debug-info] make fortran CHARACTER(1) type as valid unsigned type.
Jul 29 2021, 8:41 PM · Restricted Project, debug-info