Page MenuHomePhabricator

LiuChen3 (LiuChen)
User

Projects

User does not belong to any projects.

User Details

User Since
Sep 9 2019, 7:00 PM (141 w, 3 d)

Recent Activity

Mon, May 16

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.

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

Fri, May 6

LiuChen3 updated the summary of D124435: [X86] Always extend the integer parameters in callee.
Fri, May 6, 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

Fri, May 6, 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

Jul 28 2021

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

Apr 22 2021

LiuChen3 added a comment to D100091: [X86] Fix wrong handle with "-mno-x87".

What is the usage model you’re trying to enable? This has been broken for a long time. Why is it important now?

Apr 22 2021, 12:43 AM · Restricted Project
LiuChen3 added a comment to D100091: [X86] Fix wrong handle with "-mno-x87".

Does adding HasX87 predicates to the instructions cause the conversions in my example to fail?

Apr 22 2021, 12:37 AM · Restricted Project

Apr 21 2021

LiuChen3 added a comment to D100091: [X86] Fix wrong handle with "-mno-x87".

What about cases that use x87 to do float/double conversions? I think it’s i64 conversions in 32-bit mode. But maybe other cases. Does gcc disable those with -mno-80387?

You are right! GCC can do the conversions: https://godbolt.org/z/87ez838oc .
With this patch, llvm will fail in ISEL. I want to make another patch to do this.

I'm more concerned about these cases that don't use long double and aren't missed constant folding. https://godbolt.org/z/qGv54ef34

Apr 21 2021, 11:40 PM · Restricted Project

Apr 20 2021

LiuChen3 committed rG72e4bf12eec4: [X86] Support some missing intrinsics (authored by LiuChen3).
[X86] Support some missing intrinsics
Apr 20 2021, 7:52 PM
LiuChen3 closed D100368: [X86] Support some missing intrinsics.
Apr 20 2021, 7:51 PM · Restricted Project

Apr 19 2021

LiuChen3 added inline comments to D100368: [X86] Support some missing intrinsics.
Apr 19 2021, 1:37 AM · Restricted Project
LiuChen3 updated the diff for D100368: [X86] Support some missing intrinsics.

Fix format issue.

Apr 19 2021, 1:34 AM · Restricted Project
LiuChen3 updated the diff for D100368: [X86] Support some missing intrinsics.
  1. Rebase.
  2. Adding _mm512_i32loscatter_epi64 and _mm512_mask_i32loscatter_epi64.
Apr 19 2021, 1:24 AM · Restricted Project

Apr 14 2021

LiuChen3 added a comment to D78564: [i386] Modify the alignment of __m128/__m256/__m512 vector type according i386 abi..

Thanks for your review. Hope this patch won't cause too many ABI issues in the future.

Apr 14 2021, 1:51 AM · Restricted Project
LiuChen3 committed rG1c4108ab661d: [i386] Modify the alignment of __m128/__m256/__m512 vector type according i386… (authored by LiuChen3).
[i386] Modify the alignment of __m128/__m256/__m512 vector type according i386…
Apr 14 2021, 1:48 AM
LiuChen3 closed D78564: [i386] Modify the alignment of __m128/__m256/__m512 vector type according i386 abi..
Apr 14 2021, 1:47 AM · Restricted Project

Apr 13 2021

LiuChen3 updated the summary of D99565: [X86] Support replacing aligned vector moves with unaligned moves when avx is enabled..
Apr 13 2021, 10:13 PM · Restricted Project, Restricted Project
LiuChen3 updated the diff for D99565: [X86] Support replacing aligned vector moves with unaligned moves when avx is enabled..

Address Craig's comments

Apr 13 2021, 10:11 PM · Restricted Project, Restricted Project
LiuChen3 updated the diff for D100368: [X86] Support some missing intrinsics.

Address Simon's comments

Apr 13 2021, 6:13 PM · Restricted Project
LiuChen3 added a comment to D100368: [X86] Support some missing intrinsics.

Add _mm512_i32loscatter_epi64 and _mm512_mask_i32loscatter_epi64 for completeness?

Apr 13 2021, 6:07 AM · Restricted Project
LiuChen3 added reviewers for D100368: [X86] Support some missing intrinsics: craig.topper, pengfei, LuoYuanke, FreddyYe, RKSimon.
Apr 13 2021, 1:44 AM · Restricted Project