Page MenuHomePhabricator

Please use GitHub pull requests for new patches. Phabricator shutdown timeline

khchen (Zakk Chen)
User

Projects

User does not belong to any projects.

User Details

User Since
Oct 23 2013, 8:22 AM (518 w, 5 d)

Recent Activity

May 23 2023

khchen abandoned D102582: [RISCV] Report an error when ABI mismatch with target-abi module flag..

we don't need this patch because we already handle the empty target-abi module flag now.

May 23 2023, 9:35 AM · Restricted Project, Restricted Project, Restricted Project
khchen abandoned D78035: [PoC][RISCV] enable LTO/ThinLTO on RISCV.

I'm not working on RISC-V now and please reference https://reviews.llvm.org/D132843#3770454 to see the follow-up work.

May 23 2023, 9:33 AM · Restricted Project, Restricted Project, Restricted Project
khchen abandoned D72245: [PoC][RISCV][LTO] Pass target-abi via module flag metadata.

I'm not working on RISC-V now and please reference https://reviews.llvm.org/D132843#3770454 to see the follow-up work.

May 23 2023, 9:32 AM · Restricted Project, Restricted Project, Restricted Project
khchen abandoned D124833: [RISCV] Optimize redundant vsetvli for Vector Mask-Register Logical Instructions..

D135327 fixed this issue.

May 23 2023, 9:18 AM · Restricted Project, Restricted Project

Dec 29 2022

khchen added a comment to D140662: [NFC][Clang][RISCV] Reduce boilerplate when determining prototype for segment loads.

LGTM. Thanks for clean up code!

Dec 29 2022, 2:33 AM · Restricted Project, Restricted Project

Dec 27 2022

khchen accepted D140687: [Clang][RISCV] Use poison instead of undef.

LGTM, thanks!!

Dec 27 2022, 5:37 AM · Restricted Project, Restricted Project

Dec 26 2022

khchen added inline comments to D140662: [NFC][Clang][RISCV] Reduce boilerplate when determining prototype for segment loads.
Dec 26 2022, 6:42 AM · Restricted Project, Restricted Project
khchen accepted D140389: [NFC][Clang][RISCV] Rename data member 'DefaultPolicy' to 'PolicyAttrs'.

LGTM, thanks!

Dec 26 2022, 6:10 AM · Restricted Project, Restricted Project

Nov 21 2022

khchen added inline comments to D138429: [clang][RISCV][NFC] Prevent data race in RVVType::computeType.
Nov 21 2022, 5:43 PM · Restricted Project, Restricted Project

Nov 10 2022

khchen added inline comments to D137689: [AArch64] Select BFI/BFXIL to ORR with shifted operand when one operand is the left or right shift of another operand.
Nov 10 2022, 9:44 AM · Restricted Project, Restricted Project

Oct 22 2022

khchen updated khchen.
Oct 22 2022, 10:52 AM

Sep 6 2022

khchen added a comment to D132843: [RISCV] Ensure target features get passed to the LTO linker for RISC-V.

Possible solution/results:

  1. All functions in a.o and b.o using same target features during the first build stage, -march=rv64gc for a.o, -march=rv64g for b.o, and -march option given in LTO CodeGen stage is ignored, it only used for ELF attribute use (this revision).
  2. All functions in a.o and b.o using same target features during the first build stage, -march=rv64gc for a.o, -march=rv64g for b.o, and deduced arch info from those .o for ELF attribute use (D106347), -march
  3. All functions in a.o and b.o re-compile with -march=rv64gc_zba and ELF attribute use rv64gc_zba.

Option 1: Require user use right -march option during LTO stage, and might fill wrong/unexpected ELF attribute if give wrong -march or not even not given in LTO stage.
Option 2: Should be more ideal, but D106347 seems no progress for a while.
Option 3: This option will break IFUNC usage.

Sep 6 2022, 10:51 PM · Restricted Project, Restricted Project
khchen added a comment to D71387: pass -mabi to LTO linker only in RISC-V targets, enable RISC-V LTO.

I believe this patch is still relevant/necessary when using LTO for RISCV, so can I ask if @khchen is able to update it to rebase/address the feedback? If not, are there are any objections to me commandeering this revision to get it landed?

Sep 6 2022, 10:14 PM · Restricted Project, Restricted Project

Aug 4 2022

khchen committed rG010f329803c8: [RISCV][Clang] Support policy function for all vector segment load. (authored by khchen).
[RISCV][Clang] Support policy function for all vector segment load.
Aug 4 2022, 10:52 AM · Restricted Project, Restricted Project
khchen closed D126750: [RISCV][Clang] Support policy function for all vector segment load..
Aug 4 2022, 10:51 AM · Restricted Project, Restricted Project

Aug 2 2022

khchen committed rGbb99d4b11d84: [RISCV][Clang] Support policy functions for Vector Mask Instructions. (authored by khchen).
[RISCV][Clang] Support policy functions for Vector Mask Instructions.
Aug 2 2022, 10:32 AM · Restricted Project, Restricted Project
khchen committed rGdffdca85ec2d: [RISCV][Clang] Support policy functions for Vector Reduction (authored by khchen).
[RISCV][Clang] Support policy functions for Vector Reduction
Aug 2 2022, 10:32 AM · Restricted Project, Restricted Project
khchen committed rG9caf2cc05c02: [RISCV][Clang] Support policy functions for Vector Comparison (authored by khchen).
[RISCV][Clang] Support policy functions for Vector Comparison
Aug 2 2022, 10:32 AM · Restricted Project, Restricted Project
khchen committed rG7eddeb9e99f3: [RISCV][Clang] Support policy functions for vmerge, vfmerge and (authored by khchen).
[RISCV][Clang] Support policy functions for vmerge, vfmerge and
Aug 2 2022, 10:32 AM · Restricted Project, Restricted Project
khchen committed rGb1b22b4a85ac: [RISCV][Clang] Support policy functions for vneg, vnot, vncvt, vwcvt, (authored by khchen).
[RISCV][Clang] Support policy functions for vneg, vnot, vncvt, vwcvt,
Aug 2 2022, 10:32 AM · Restricted Project, Restricted Project
khchen closed D126749: [RISCV][Clang] Support policy functions for Vector Mask Instructions..
Aug 2 2022, 10:32 AM · Restricted Project, Restricted Project
khchen closed D126748: [RISCV][Clang] Support policy functions for Vector Reduction Instructions..
Aug 2 2022, 10:32 AM · Restricted Project, Restricted Project
khchen closed D126746: [RISCV][Clang] Support policy functions for Vector Comparison Instructions..
Aug 2 2022, 10:31 AM · Restricted Project, Restricted Project
khchen closed D126745: [RISCV][Clang] Support policy functions for vmerge, vfmerge and vcompress..
Aug 2 2022, 10:31 AM · Restricted Project, Restricted Project
khchen closed D126744: [RISCV][Clang] Support policy functions for vneg, vnot, vncvt, vwcvt, vwcvtu, vfabs and vfneg..
Aug 2 2022, 10:31 AM · Restricted Project, Restricted Project
khchen added a comment to D126745: [RISCV][Clang] Support policy functions for vmerge, vfmerge and vcompress..

@nlopes we will update all undef to poison in follow up patches.

Aug 2 2022, 9:15 AM · Restricted Project, Restricted Project

Aug 1 2022

khchen added a comment to D126745: [RISCV][Clang] Support policy functions for vmerge, vfmerge and vcompress..

oops.. all tests need to updated and include all intrinsic IR tests...
Is there any benefit to switch UndefValue to PoisonValue?
maybe those changed should be in other follow-up patches?

Aug 1 2022, 11:45 AM · Restricted Project, Restricted Project
khchen added a comment to D126745: [RISCV][Clang] Support policy functions for vmerge, vfmerge and vcompress..

While at it, could you switch those UndefValue with PoisonValue if possible? Thank you!

I'm not sure UndefValue will work because the backend would only check isUndef() to generate correct code...

PoisonValue and UndefValue are both turned into undef in SelectionDAG today.

Aug 1 2022, 11:35 AM · Restricted Project, Restricted Project
khchen added a comment to D126745: [RISCV][Clang] Support policy functions for vmerge, vfmerge and vcompress..

While at it, could you switch those UndefValue with PoisonValue if possible? Thank you!

Aug 1 2022, 11:10 AM · Restricted Project, Restricted Project
khchen committed rG8e51917b39cd: [RISCV][Clang] Add tests for all supported policy functions. (NFC) (authored by khchen).
[RISCV][Clang] Add tests for all supported policy functions. (NFC)
Aug 1 2022, 10:46 AM · Restricted Project, Restricted Project
khchen committed rG71fd66161d54: [RISCV][Clang] Support RVV policy functions. (authored by khchen).
[RISCV][Clang] Support RVV policy functions.
Aug 1 2022, 10:46 AM · Restricted Project, Restricted Project
khchen closed D126743: [RISCV][Clang] Add tests for all supported policy functions. (NFC).
Aug 1 2022, 10:46 AM · Restricted Project, Restricted Project
khchen closed D126742: [RISCV][Clang] Support RVV policy functions..
Aug 1 2022, 10:45 AM · Restricted Project, Restricted Project

Jul 27 2022

khchen updated the diff for D126742: [RISCV][Clang] Support RVV policy functions..

rebase and address @fakepaper56 and @StephenFan's comments, also do some refactoring.

Jul 27 2022, 12:36 AM · Restricted Project, Restricted Project

Jul 26 2022

khchen committed rG93f8657c743b: [RISCV][Clang] Refactor RISCVVEmitter. (NFC) (authored by khchen).
[RISCV][Clang] Refactor RISCVVEmitter. (NFC)
Jul 26 2022, 3:18 AM · Restricted Project, Restricted Project
khchen closed D126741: [RISCV][Clang] Refactor RISCVVEmitter. (NFC).
Jul 26 2022, 3:17 AM · Restricted Project, Restricted Project
khchen committed rGbc4eef509b21: [RISCV][Clang] Refactor and rename rvv intrinsic related stuff. (NFC) (authored by khchen).
[RISCV][Clang] Refactor and rename rvv intrinsic related stuff. (NFC)
Jul 26 2022, 2:39 AM · Restricted Project, Restricted Project
khchen closed D126740: [RISCV][Clang] Refactor and rename rvv intrinsic related stuff. (NFC).
Jul 26 2022, 2:39 AM · Restricted Project, Restricted Project

Jul 5 2022

khchen added inline comments to D129043: [RISCV][Clang] Teach RISCVEmitter to generate BitCast for pointer operands..
Jul 5 2022, 11:40 PM · Restricted Project, Restricted Project

Jul 1 2022

khchen accepted D128972: [RISCV][NFC] Simplify condition of IsTU..

LGTM, thanks!

Jul 1 2022, 7:25 AM · Restricted Project, Restricted Project

Jun 30 2022

khchen added a comment to D111617: [RISCV] Lazily add RVV C intrinsics..

@craig.topper @rogfer01 - do you have other comments?

Jun 30 2022, 8:55 AM · Restricted Project, Restricted Project, Restricted Project
khchen accepted D111617: [RISCV] Lazily add RVV C intrinsics..

LGTM. Other than that last comments.

Jun 30 2022, 8:51 AM · Restricted Project, Restricted Project, Restricted Project

Jun 20 2022

khchen added a comment to D126461: [RISCV] Extract and store new vl of vleff/vlsegff iff new_vl output pointer isn't null.

Could you please purpose this implement in rvv-intrinsc-doc first?
I think this feature need to have discussion because store to nullptr is UB but we are making it as defined behavior only for these intrinsics.
Personally I like they have consistent behavior and in document side we just make a note for users that vl should not be a null pointer.

Jun 20 2022, 8:30 AM · Restricted Project, Restricted Project

Jun 8 2022

khchen added a comment to D126461: [RISCV] Extract and store new vl of vleff/vlsegff iff new_vl output pointer isn't null.

IMO, if I'm an user, I would not expected intrinsic function will generate the condition code to impact the performance, maybe we need to raise a issue in rvv-intrinsic-doc.

Jun 8 2022, 7:11 AM · Restricted Project, Restricted Project

Jun 7 2022

khchen added a comment to D126461: [RISCV] Extract and store new vl of vleff/vlsegff iff new_vl output pointer isn't null.

Store to null will be changed to unreachable, so all instructions after vleff intrinsic call will be deleted and it causes runtime errors. If destination to store is null, we won't extract and store the new vl.

Jun 7 2022, 7:06 PM · Restricted Project, Restricted Project

Jun 1 2022

khchen added a comment to D125624: [gold] Remove an external dependency to GNU binutils' header file.

IMO, maybe we could keep the DLLVM_BINUTILS_INCDIR option support but default is using the Plugin.h?

Jun 1 2022, 7:54 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project
khchen added a comment to D125323: [RISCV] Add the passthru operand for RVV unmasked segment load IR intrinsics..

Is there an easy way to update tests? Or we need to add passthru operands manually? I will appreciate it if you can tell me. :-)

Jun 1 2022, 8:09 AM · Restricted Project, Restricted Project, Restricted Project

May 31 2022

khchen requested review of D126750: [RISCV][Clang] Support policy function for all vector segment load..
May 31 2022, 6:29 PM · Restricted Project, Restricted Project
khchen requested review of D126749: [RISCV][Clang] Support policy functions for Vector Mask Instructions..
May 31 2022, 6:28 PM · Restricted Project, Restricted Project
khchen requested review of D126748: [RISCV][Clang] Support policy functions for Vector Reduction Instructions..
May 31 2022, 6:26 PM · Restricted Project, Restricted Project
khchen requested review of D126746: [RISCV][Clang] Support policy functions for Vector Comparison Instructions..
May 31 2022, 6:24 PM · Restricted Project, Restricted Project
khchen requested review of D126745: [RISCV][Clang] Support policy functions for vmerge, vfmerge and vcompress..
May 31 2022, 6:22 PM · Restricted Project, Restricted Project
khchen requested review of D126744: [RISCV][Clang] Support policy functions for vneg, vnot, vncvt, vwcvt, vwcvtu, vfabs and vfneg..
May 31 2022, 6:20 PM · Restricted Project, Restricted Project
khchen requested review of D126743: [RISCV][Clang] Add tests for all supported policy functions. (NFC).
May 31 2022, 6:15 PM · Restricted Project, Restricted Project
khchen requested review of D126742: [RISCV][Clang] Support RVV policy functions..
May 31 2022, 6:12 PM · Restricted Project, Restricted Project
khchen requested review of D126741: [RISCV][Clang] Refactor RISCVVEmitter. (NFC).
May 31 2022, 6:08 PM · Restricted Project, Restricted Project
khchen requested review of D126740: [RISCV][Clang] Refactor and rename rvv intrinsic related stuff. (NFC).
May 31 2022, 6:07 PM · Restricted Project, Restricted Project
khchen committed rG79e3d57f5228: [RISCV][NFC] Rename variables in rvv intrinsics related files. (authored by khchen).
[RISCV][NFC] Rename variables in rvv intrinsics related files.
May 31 2022, 5:44 PM · Restricted Project, Restricted Project
khchen closed D126634: [RISCV][NFC] Rename variables in rvv intrinsics related files..
May 31 2022, 5:43 PM · Restricted Project, Restricted Project

May 30 2022

khchen added a reviewer for D126634: [RISCV][NFC] Rename variables in rvv intrinsics related files.: fakepaper56.
May 30 2022, 1:14 AM · Restricted Project, Restricted Project
khchen requested review of D126634: [RISCV][NFC] Rename variables in rvv intrinsics related files..
May 30 2022, 12:29 AM · Restricted Project, Restricted Project

May 25 2022

khchen added inline comments to D111617: [RISCV] Lazily add RVV C intrinsics..
May 25 2022, 2:32 AM · Restricted Project, Restricted Project, Restricted Project

May 24 2022

khchen accepted D126319: [RISCV] Fix vnsrl/vnsra isel patterns that are dropping VL..

LGTM!

May 24 2022, 5:45 PM · Restricted Project, Restricted Project
khchen abandoned D125546: [RISCV] Use tail agnostic if inserting subvector/element at the end of the vector..

Skimming through the code, is there any value in having a policy arg on slideup? If so, I might suggest adding it to both in an NFC change, and then doing a separate change to show the opt quality improvement.

May 24 2022, 8:55 AM · Restricted Project, Restricted Project

May 19 2022

khchen accepted D126042: [RISCV][NFC] Remove `*=` operator for LMULType.

LGTM, thanks.

May 19 2022, 11:44 PM · Restricted Project, Restricted Project
khchen added a comment to D125765: [RISCV] Add type aliases float16_t, float32_t and float64_t.

I think we have no consensus in https://github.com/riscv-non-isa/rvv-intrinsic-doc/issues/18#issuecomment-817890161, and most people disagree the current naming,
maybe we need to have more followup discussion before landing this patch.

Thanks for your reminding of previous discussion!
Should we put this in next sync-up discussion agenda and settle it down? There are already some large code bases based GCC implementation, we should make it stable before it becomes too hard to change.

May 19 2022, 10:31 PM · Restricted Project, Restricted Project
khchen added a comment to D125875: [RISCV] Add vread_csr and vwrite_csr to riscv_vector.h.

please move those tests to test/CodeGen/RISCV/rvv-intrinsics and rename them without rvv- prefix.

May 19 2022, 10:02 PM · Restricted Project, Restricted Project
khchen planned changes to D125546: [RISCV] Use tail agnostic if inserting subvector/element at the end of the vector..
May 19 2022, 7:59 AM · Restricted Project, Restricted Project
khchen added a comment to D125765: [RISCV] Add type aliases float16_t, float32_t and float64_t.

I think we have no consensus in https://github.com/riscv-non-isa/rvv-intrinsic-doc/issues/18#issuecomment-817890161, and most people disagree the current naming,
maybe we need to have more followup discussion before landing this patch.

May 19 2022, 2:47 AM · Restricted Project, Restricted Project

May 18 2022

khchen accepted D125886: [RISCV][NFC] Rename variable in RISCVVEmitter.cpp.

LGTM, thanks!

May 18 2022, 8:12 AM · Restricted Project, Restricted Project

May 15 2022

khchen committed rG1878f240c9ad: [RISCV] Fix incorrect use of tail agnostic vslideup. (authored by khchen).
[RISCV] Fix incorrect use of tail agnostic vslideup.
May 15 2022, 7:06 PM · Restricted Project, Restricted Project
khchen closed D125545: [RISCV] Fix incorrect use of tail agnostic vslideup..
May 15 2022, 7:06 PM · Restricted Project, Restricted Project

May 13 2022

khchen added a comment to D111617: [RISCV] Lazily add RVV C intrinsics..

Do we need to have some tests in clang/test/PCH/ for new #pragma?

May 13 2022, 9:19 AM · Restricted Project, Restricted Project, Restricted Project
khchen accepted D124730: [RISCV][NFC] Refactor RISC-V vector intrinsic utils..

Thanks Kito. This all LGTM except some warnings need to fix.

May 13 2022, 8:23 AM · Restricted Project, Restricted Project
khchen requested review of D125546: [RISCV] Use tail agnostic if inserting subvector/element at the end of the vector..
May 13 2022, 6:51 AM · Restricted Project, Restricted Project
khchen requested review of D125545: [RISCV] Fix incorrect use of tail agnostic vslideup..
May 13 2022, 6:50 AM · Restricted Project, Restricted Project
khchen closed D125323: [RISCV] Add the passthru operand for RVV unmasked segment load IR intrinsics..
May 13 2022, 2:17 AM · Restricted Project, Restricted Project, Restricted Project
khchen committed rG7dfc56c10746: [RISCV] Add the passthru operand for RVV unmasked segment load IR intrinsics. (authored by khchen).
[RISCV] Add the passthru operand for RVV unmasked segment load IR intrinsics.
May 13 2022, 2:17 AM · Restricted Project, Restricted Project, Restricted Project

May 11 2022

khchen accepted D125424: [RISCV] Use tail agnostic policy when selecting riscv_fma_vl to instructions.

LGTM, thanks!

May 11 2022, 6:36 PM · Restricted Project, Restricted Project
khchen updated the diff for D125323: [RISCV] Add the passthru operand for RVV unmasked segment load IR intrinsics..

address Craig's comments, thanks!!

May 11 2022, 8:28 AM · Restricted Project, Restricted Project, Restricted Project
khchen added a comment to D124730: [RISCV][NFC] Refactor RISC-V vector intrinsic utils..

Thanks for refactoring!

May 11 2022, 1:44 AM · Restricted Project, Restricted Project

May 10 2022

khchen requested review of D125323: [RISCV] Add the passthru operand for RVV unmasked segment load IR intrinsics..
May 10 2022, 8:59 AM · Restricted Project, Restricted Project, Restricted Project

May 5 2022

khchen updated the diff for D124833: [RISCV] Optimize redundant vsetvli for Vector Mask-Register Logical Instructions..

address frasercrmck's comments, thanks!

May 5 2022, 9:54 AM · Restricted Project, Restricted Project
khchen added a comment to D124961: [riscv] Use X0 for destination of VSETVLI instruction if result unused.

I think maybe it's good to have pre-commit test to demonstrate VLS realistic cases could be benefited by this improvement, or at least mention realistic test are coming from VLS vectorization in commit message.

May 5 2022, 7:27 AM · Restricted Project, Restricted Project

May 4 2022

khchen committed rG6c10014f1de6: [RISCV][Clang] add more tests for clang driver. (NFC) (authored by khchen).
[RISCV][Clang] add more tests for clang driver. (NFC)
May 4 2022, 11:58 PM · Restricted Project, Restricted Project
khchen closed D124611: [RISCV][Clang] add more tests for clang driver. (NFC).
May 4 2022, 11:58 PM · Restricted Project, Restricted Project

May 3 2022

khchen updated the diff for D124833: [RISCV] Optimize redundant vsetvli for Vector Mask-Register Logical Instructions..

update comment.

May 3 2022, 2:25 AM · Restricted Project, Restricted Project
khchen requested review of D124833: [RISCV] Optimize redundant vsetvli for Vector Mask-Register Logical Instructions..
May 3 2022, 2:22 AM · Restricted Project, Restricted Project
khchen updated the diff for D124611: [RISCV][Clang] add more tests for clang driver. (NFC).

Add zve64* tests.

May 3 2022, 12:11 AM · Restricted Project, Restricted Project

May 2 2022

khchen added reviewers for D124611: [RISCV][Clang] add more tests for clang driver. (NFC): kito.cheng, eopXD.
May 2 2022, 9:57 PM · Restricted Project, Restricted Project
khchen added inline comments to D124684: [RISCV] Fix incorrect codegen for masked vmsge{u}.vx with mask agnostic..
May 2 2022, 6:58 PM · Restricted Project, Restricted Project
khchen committed rG5807e59a0ab4: [RISCV] Fix incorrect codegen for masked vmsge{u}.vx with mask agnostic. (authored by khchen).
[RISCV] Fix incorrect codegen for masked vmsge{u}.vx with mask agnostic.
May 2 2022, 6:04 PM · Restricted Project, Restricted Project
khchen closed D124684: [RISCV] Fix incorrect codegen for masked vmsge{u}.vx with mask agnostic..
May 2 2022, 6:04 PM · Restricted Project, Restricted Project

Apr 29 2022

khchen requested review of D124684: [RISCV] Fix incorrect codegen for masked vmsge{u}.vx with mask agnostic..
Apr 29 2022, 9:42 AM · Restricted Project, Restricted Project
khchen accepted D124510: [RISCV] Precommit test for D124509.

LGTM. Thanks!

Apr 29 2022, 8:34 AM · Restricted Project, Restricted Project

Apr 28 2022

khchen requested review of D124611: [RISCV][Clang] add more tests for clang driver. (NFC).
Apr 28 2022, 6:30 AM · Restricted Project, Restricted Project
khchen added a comment to D124424: [RISCV] Fix alias printing for vmnot.m.

LGTM too.

Apr 28 2022, 2:38 AM · Restricted Project, Restricted Project

Apr 27 2022

khchen added a comment to D124509: [RISCV] Fix int16 -> __fp16 conversion code gen.

It's seem like all targets need to return false in useFP16ConversionIntrinsics for correctness of int16 -> __fp16 conversion?

Apr 27 2022, 7:50 PM · Restricted Project, Restricted Project

Apr 25 2022

khchen committed rGffe03ff75c26: [RISCV] Fix incorrect policy implement for unmasked vslidedown and vslideup. (authored by khchen).
[RISCV] Fix incorrect policy implement for unmasked vslidedown and vslideup.
Apr 25 2022, 9:20 AM · Restricted Project, Restricted Project, Restricted Project
khchen closed D124186: [RISCV] Fix incorrect policy implement for unmasked vslidedown and vslideup..
Apr 25 2022, 9:20 AM · Restricted Project, Restricted Project, Restricted Project