Page MenuHomePhabricator

HsiangKai (Hsiangkai Wang)
Kai

Projects

User does not belong to any projects.

User Details

User Since
May 4 2016, 7:01 PM (266 w, 2 d)

Recent Activity

Thu, Jun 10

HsiangKai committed rG643b6407faf4: [RISCV] Avoid scalar outgoing argumetns overwriting vector frame objects. (authored by HsiangKai).
[RISCV] Avoid scalar outgoing argumetns overwriting vector frame objects.
Thu, Jun 10, 9:27 PM
HsiangKai closed D103622: [RISCV] Avoid scalar outgoing arguments overwriting vector frame objects..
Thu, Jun 10, 9:27 PM · Restricted Project
HsiangKai updated the diff for D103510: [RISCV] Use vmv.v.[v|i] if we know COPY is under the same vl and vtype..

Add VL, VTYPE directly.

Thu, Jun 10, 8:29 PM · Restricted Project
HsiangKai added inline comments to D103622: [RISCV] Avoid scalar outgoing arguments overwriting vector frame objects..
Thu, Jun 10, 8:26 PM · Restricted Project

Wed, Jun 9

HsiangKai updated the diff for D103622: [RISCV] Avoid scalar outgoing arguments overwriting vector frame objects..

Update comments.

Wed, Jun 9, 8:09 PM · Restricted Project
HsiangKai retitled D103622: [RISCV] Avoid scalar outgoing arguments overwriting vector frame objects. from [RISCV] Avoid scalar outgoing arguments overwrite vector frame objects. to [RISCV] Avoid scalar outgoing arguments overwriting vector frame objects..
Wed, Jun 9, 8:05 PM · Restricted Project
HsiangKai updated the diff for D103510: [RISCV] Use vmv.v.[v|i] if we know COPY is under the same vl and vtype..

It may have more implicit arguments in the end of the producing instruction. Such as,

Wed, Jun 9, 7:45 PM · Restricted Project
HsiangKai updated the diff for D103510: [RISCV] Use vmv.v.[v|i] if we know COPY is under the same vl and vtype..
  • Add more strict constraint for the conversion.
  • Add comments.
Wed, Jun 9, 7:01 PM · Restricted Project
HsiangKai added inline comments to D103622: [RISCV] Avoid scalar outgoing arguments overwriting vector frame objects..
Wed, Jun 9, 6:34 PM · Restricted Project

Mon, Jun 7

HsiangKai requested review of D103873: [Clang][RISCV] Implement vsoxseg and vsuxseg..
Mon, Jun 7, 11:41 PM · Restricted Project
HsiangKai requested review of D103872: [Clang][RISCV] Implement vssseg..
Mon, Jun 7, 11:35 PM · Restricted Project
HsiangKai requested review of D103871: [Clang][RISCV] Implement vsseg..
Mon, Jun 7, 11:34 PM · Restricted Project
HsiangKai committed rG2b13ff697946: [Clang][CodeGen] Set the size of llvm.lifetime to unknown for scalable types. (authored by HsiangKai).
[Clang][CodeGen] Set the size of llvm.lifetime to unknown for scalable types.
Mon, Jun 7, 8:30 AM
HsiangKai closed D102822: [Clang][CodeGen] Set the size of llvm.lifetime to unknown for scalable types..
Mon, Jun 7, 8:30 AM · Restricted Project
HsiangKai requested review of D103809: [Clang][RISCV] Implement vloxseg and vluxseg..
Mon, Jun 7, 6:56 AM · Restricted Project
HsiangKai requested review of D103796: [Clang][RISCV] Implement vlsseg..
Mon, Jun 7, 2:56 AM · Restricted Project

Sat, Jun 5

HsiangKai abandoned D99592: [PoC][Clang] Use TypeSize instead of uint64_t for getTypeAllocSize()..
Sat, Jun 5, 5:50 AM · Restricted Project
HsiangKai updated the diff for D102822: [Clang][CodeGen] Set the size of llvm.lifetime to unknown for scalable types..

Simplify the test case.

Sat, Jun 5, 12:31 AM · Restricted Project

Fri, Jun 4

HsiangKai added a comment to D103510: [RISCV] Use vmv.v.[v|i] if we know COPY is under the same vl and vtype..

My browser's really chugging on this huge patch so my input has to be brief. Maybe we could hide the test changes for now?

Regarding vmv.v.i, is there not already some support for rematerialization (e.g. of immediates)? Or is it non-trivial due to having to manage VSETVLIs?

Fri, Jun 4, 11:51 PM · Restricted Project
HsiangKai updated the diff for D103510: [RISCV] Use vmv.v.[v|i] if we know COPY is under the same vl and vtype..
  • Remove most of test updates.
  • Add implicit-use arguments for vmv.v.v or vmv.v.i.
Fri, Jun 4, 10:29 PM · Restricted Project
HsiangKai updated the summary of D103510: [RISCV] Use vmv.v.[v|i] if we know COPY is under the same vl and vtype..
Fri, Jun 4, 3:47 AM · Restricted Project
HsiangKai updated the diff for D103510: [RISCV] Use vmv.v.[v|i] if we know COPY is under the same vl and vtype..

Consider vsetvli x0, x0, vtype.

Fri, Jun 4, 3:40 AM · Restricted Project
HsiangKai retitled D103510: [RISCV] Use vmv.v.[v|i] if we know COPY is under the same vl and vtype. from [RISCV] Use vmv.v.v if we know COPY is under the same vl and vtype. to [RISCV] Use vmv.v.[v|i] if we know COPY is under the same vl and vtype..
Fri, Jun 4, 12:36 AM · Restricted Project
HsiangKai updated the diff for D103510: [RISCV] Use vmv.v.[v|i] if we know COPY is under the same vl and vtype..

Consider vleff and whole register load/store.

Fri, Jun 4, 12:33 AM · Restricted Project

Thu, Jun 3

HsiangKai updated the diff for D103527: [Clang][RISCV] Implement vlseg and vlsegff..

Address comments.

Thu, Jun 3, 8:09 PM · Restricted Project
HsiangKai updated the diff for D102822: [Clang][CodeGen] Set the size of llvm.lifetime to unknown for scalable types..

clang format.

Thu, Jun 3, 7:35 PM · Restricted Project
HsiangKai updated the diff for D102822: [Clang][CodeGen] Set the size of llvm.lifetime to unknown for scalable types..

Address comments.

Thu, Jun 3, 7:34 PM · Restricted Project
HsiangKai requested review of D103622: [RISCV] Avoid scalar outgoing arguments overwriting vector frame objects..
Thu, Jun 3, 8:48 AM · Restricted Project
HsiangKai committed rG9d4922eab437: [RISCV] Precommit a test case to show overwriting vector frame objects. (authored by HsiangKai).
[RISCV] Precommit a test case to show overwriting vector frame objects.
Thu, Jun 3, 8:26 AM
HsiangKai added inline comments to D103269: [RISCV] Reserve an emergency spill slot for any RVV spills.
Thu, Jun 3, 1:51 AM · Restricted Project

Wed, Jun 2

HsiangKai added a comment to D102822: [Clang][CodeGen] Set the size of llvm.lifetime to unknown for scalable types..

Ping.

Wed, Jun 2, 8:22 AM · Restricted Project
HsiangKai added a comment to D103269: [RISCV] Reserve an emergency spill slot for any RVV spills.

LGTM. Let @craig.topper review it again.

Wed, Jun 2, 8:20 AM · Restricted Project
HsiangKai added inline comments to D103269: [RISCV] Reserve an emergency spill slot for any RVV spills.
Wed, Jun 2, 8:13 AM · Restricted Project
HsiangKai requested review of D103527: [Clang][RISCV] Implement vlseg and vlsegff..
Wed, Jun 2, 8:09 AM · Restricted Project
HsiangKai added inline comments to D103269: [RISCV] Reserve an emergency spill slot for any RVV spills.
Wed, Jun 2, 8:04 AM · Restricted Project
HsiangKai abandoned D98161: [NFC][IR] Replace isa<ScalableVectorType> with a predicator function..
Wed, Jun 2, 7:45 AM · Restricted Project
HsiangKai abandoned D98169: [IR] Permit load/store/alloca for struct with the same scalable vectors..
Wed, Jun 2, 7:45 AM · Restricted Project
HsiangKai abandoned D99593: [Clang][RISCV] Implement vlseg builtins..
Wed, Jun 2, 7:45 AM · Restricted Project
HsiangKai abandoned D97264: [RISCV] Define types for Zvlsseg..
Wed, Jun 2, 7:44 AM · Restricted Project
HsiangKai abandoned D99482: [PoC][Clang][CodeGen] Do not use getelementptr for scalable struct..
Wed, Jun 2, 7:44 AM · Restricted Project
HsiangKai abandoned D99590: [Clang] Do not use memcpy for scalable struct copy..
Wed, Jun 2, 7:43 AM · Restricted Project
HsiangKai requested review of D103510: [RISCV] Use vmv.v.[v|i] if we know COPY is under the same vl and vtype..
Wed, Jun 2, 2:38 AM · Restricted Project

Tue, Jun 1

HsiangKai added a comment to D103269: [RISCV] Reserve an emergency spill slot for any RVV spills.

Ah that's interesting, thanks both for the input. I've actually done both of those things in other backends and wasn't a huge fan of either approach. I found the flag to be quite brittle and didn't like how we had to clean up the redundant addressing instructions to get the best code.

I don't anticipate a large increase in compile time, since it's only called once per function and should have early exits. One thing I forgot to include was that hasRVVSpillWithFIs can (presumably) safely return false if !Subtarget.hasStdExtV(). That will limit the impact on non-V code. The flag would no doubt be faster, of course, in terms of compile time. I can run some tests on the larger kernels we're producing if you like.

Tue, Jun 1, 11:46 PM · Restricted Project
HsiangKai added a comment to D103269: [RISCV] Reserve an emergency spill slot for any RVV spills.

In our downstream implementation, we do not go through SelectBaseAddr for vector load/store to generate ADDI for the base address. In this way, we have no need to reserve one
additional scavenging slot for vector load/store.

Tue, Jun 1, 11:07 PM · Restricted Project
HsiangKai added a comment to D103299: [RISCV] Teach vsetvli insertion pass that operations on masks don't care about SEW/LMUL..

LGTM.

Tue, Jun 1, 10:08 PM · Restricted Project
HsiangKai accepted D102505: [RISCV] Support vector types in combination with fastcc.

LGTM.

Tue, Jun 1, 12:28 AM · Restricted Project

Mon, May 31

HsiangKai added a comment to D103435: [PoC][RISCV] Define a symbol flags and a dynamic tag to avoid lazy binding for vector calls..

Related discussions in RISC-V psABI is here. https://github.com/riscv/riscv-elf-psabi-doc/issues/66

Mon, May 31, 11:11 PM · Restricted Project
HsiangKai requested review of D103435: [PoC][RISCV] Define a symbol flags and a dynamic tag to avoid lazy binding for vector calls..
Mon, May 31, 11:08 PM · Restricted Project

Sun, May 30

HsiangKai added a comment to D102505: [RISCV] Support vector types in combination with fastcc.

You need to rebase on D103262.

Sun, May 30, 7:58 AM · Restricted Project
HsiangKai added inline comments to D102505: [RISCV] Support vector types in combination with fastcc.
Sun, May 30, 7:30 AM · Restricted Project
HsiangKai accepted D103262: [RISCV] Scale scalably-typed split argument offsets by VSCALE.

LGTM.

Sun, May 30, 7:27 AM · Restricted Project

Sat, May 29

HsiangKai accepted D103336: [RISCV] Remove earlyclobber from compares with LMUL<=1..

LGTM.

Sat, May 29, 6:32 PM · Restricted Project

Wed, May 26

HsiangKai accepted D102422: [RISCV] Allow passing fixed-length vectors via the stack.

LGTM.

Wed, May 26, 2:01 AM · Restricted Project
HsiangKai added inline comments to D102505: [RISCV] Support vector types in combination with fastcc.
Wed, May 26, 1:09 AM · Restricted Project
HsiangKai accepted D103126: [RISCV] Don't propagate VL/VTYPE across inline assembly in the Insert VSETVLI pass..

LGTM.

Wed, May 26, 12:12 AM · Restricted Project

Sat, May 22

HsiangKai added inline comments to D102505: [RISCV] Support vector types in combination with fastcc.
Sat, May 22, 8:50 AM · Restricted Project
HsiangKai accepted D102913: [RISCV] Prevent store combining from infinitely looping.

LGTM.

Sat, May 22, 8:23 AM · Restricted Project
HsiangKai added a comment to D102739: [RISCV] Enable cross basic block aware vsetvli insertion.

LGTM.

Sat, May 22, 2:20 AM · Restricted Project
HsiangKai added a comment to D102737: [RISCV] Add a vsetvli insert pass that can be extended to be aware of incoming VL/VTYPE from other basic blocks..

LGTM.

Sat, May 22, 1:10 AM · Restricted Project
HsiangKai added inline comments to D102737: [RISCV] Add a vsetvli insert pass that can be extended to be aware of incoming VL/VTYPE from other basic blocks..
Sat, May 22, 1:10 AM · Restricted Project

Thu, May 20

HsiangKai updated the diff for D102822: [Clang][CodeGen] Set the size of llvm.lifetime to unknown for scalable types..

Update the test case.

Thu, May 20, 1:31 AM · Restricted Project

Wed, May 19

HsiangKai added a comment to D102822: [Clang][CodeGen] Set the size of llvm.lifetime to unknown for scalable types..

Am I mistaken, or does this test already pass without these changes?

Wed, May 19, 10:26 PM · Restricted Project
HsiangKai requested review of D102822: [Clang][CodeGen] Set the size of llvm.lifetime to unknown for scalable types..
Wed, May 19, 7:37 PM · Restricted Project

Fri, May 14

HsiangKai committed rGb41e1306b80f: [RISCV] Add the DebugLoc parameter to getVLENFactoredAmount(). (authored by HsiangKai).
[RISCV] Add the DebugLoc parameter to getVLENFactoredAmount().
Fri, May 14, 6:31 AM
HsiangKai closed D102386: [RISCV] Add the DebugLoc parameter to getVLENFactoredAmount()..
Fri, May 14, 6:31 AM · Restricted Project

Thu, May 13

HsiangKai added a comment to D102386: [RISCV] Add the DebugLoc parameter to getVLENFactoredAmount()..

LGTM but if this (also) fixes a crash I think the description could be updated to reflect that. I inferred from the description that this was just about improving the debug information.

Thu, May 13, 6:50 PM · Restricted Project

May 13 2021

HsiangKai added a reviewer for D102386: [RISCV] Add the DebugLoc parameter to getVLENFactoredAmount().: kito-cheng.
May 13 2021, 1:01 AM · Restricted Project
HsiangKai added a comment to D102386: [RISCV] Add the DebugLoc parameter to getVLENFactoredAmount()..

Maybe you could pre-commit the test case to easier demonstrate the change of this patch?

May 13 2021, 1:01 AM · Restricted Project

May 12 2021

HsiangKai requested review of D102386: [RISCV] Add the DebugLoc parameter to getVLENFactoredAmount()..
May 12 2021, 11:34 PM · Restricted Project

May 10 2021

HsiangKai committed rGd8ec2b183e92: [RISCV] Fix the calculation of the offset of Zvlsseg spilling. (authored by HsiangKai).
[RISCV] Fix the calculation of the offset of Zvlsseg spilling.
May 10 2021, 7:47 PM
HsiangKai closed D101869: [RISCV] Fix the calculation of the offset of Zvlsseg spilling..
May 10 2021, 7:47 PM · Restricted Project
HsiangKai updated the diff for D101869: [RISCV] Fix the calculation of the offset of Zvlsseg spilling..

Add a test case.

May 10 2021, 8:07 AM · Restricted Project

May 7 2021

HsiangKai committed rGc04c66d705b4: [RISCV] Consider scalar types for required extensions. (authored by HsiangKai).
[RISCV] Consider scalar types for required extensions.
May 7 2021, 1:08 PM
HsiangKai closed D102051: [RISCV] Consider scalar types for required extensions..
May 7 2021, 1:08 PM · Restricted Project
HsiangKai requested review of D102051: [RISCV] Consider scalar types for required extensions..
May 7 2021, 12:37 AM · Restricted Project

May 6 2021

HsiangKai added inline comments to D101938: [RISCV] Initial version of a demand based vsetvli insertion pass..
May 6 2021, 11:23 PM · Restricted Project
HsiangKai added inline comments to D101938: [RISCV] Initial version of a demand based vsetvli insertion pass..
May 6 2021, 9:28 PM · Restricted Project
HsiangKai added inline comments to D101938: [RISCV] Initial version of a demand based vsetvli insertion pass..
May 6 2021, 8:03 PM · Restricted Project
HsiangKai added a comment to D102031: [RISCV] Use X0 as destination of inserted vsetvli when possible..

To separate it from D101938, is it because the modification changes lots of test files?

May 6 2021, 7:26 PM · Restricted Project
HsiangKai accepted D101889: [RISCV][NFC] Don't need to create a new STI in RISCVAsmPrinter..

LGTM.

May 6 2021, 5:27 PM · Restricted Project
HsiangKai accepted D102031: [RISCV] Use X0 as destination of inserted vsetvli when possible..

LGTM.

May 6 2021, 5:22 PM · Restricted Project

May 5 2021

HsiangKai added a comment to D101869: [RISCV] Fix the calculation of the offset of Zvlsseg spilling..

When would it be larger and is it easy to construct a test for it?

May 5 2021, 7:58 PM · Restricted Project

May 4 2021

HsiangKai requested review of D101869: [RISCV] Fix the calculation of the offset of Zvlsseg spilling..
May 4 2021, 4:34 PM · Restricted Project

Apr 28 2021

HsiangKai added a comment to D99741: [RISCV][Clang] Add some RVV Floating-Point intrinsic functions. (vfclass, vfmerge, vfrec7, vfrsqrt7, vfsqrt).

I believe we had reductions at builds 7601 and 8175.

It looks like there may have been an increase between builds 7979 and 7991 the build failed for a while there. I suspect "e951b04 [AArch64][SVE] Regression test all ACLE tests with C++" as it added a quite a few RUN lines.

I think we also caused an increase at build 8202 when these 4 commits went in
bd32c2d [RISCV] Implement the vwcvt{u}.x.x.v/vncvt.x.x.w builtin.
645c5f2 [RISCV] Implement the pseudo compare builtin.
bfb3fca [RISCV] Implement the vfabs.v/vfneg.v builtin.
4b24341 [RISCV] Implement the vmmv.m/vmnot.m builtin.

Any disagreement about reverting riscv builtin changes until there's some way to test them without increasing check-clang time by 20%?

We're preparing a patch to remove to stop testing both rv32 and rv64 on every test. That should reduce the time by half. What is an acceptable number?

Apr 28 2021, 12:56 AM · Restricted Project
HsiangKai committed rGb358a2be5248: [RISCV] Remove riscv32 test cases for vector intrinsics. (authored by HsiangKai).
[RISCV] Remove riscv32 test cases for vector intrinsics.
Apr 28 2021, 12:55 AM

Apr 26 2021

HsiangKai accepted D100286: [RISCV] Fix StackOffset calculation when using sp to access the fixed stack object in the case of rvv vector objects existed.

LGTM. Before landing, you need to rebase and update your test case.

Apr 26 2021, 6:52 PM · Restricted Project
HsiangKai committed rG16dc9afa097d: [RISCV] Add REQUIRES: riscv-registered-target for RISC-V test cases. (authored by HsiangKai).
[RISCV] Add REQUIRES: riscv-registered-target for RISC-V test cases.
Apr 26 2021, 2:03 AM
HsiangKai committed rGbd32c2d64842: [RISCV] Implement the vwcvt{u}.x.x.v/vncvt.x.x.w builtin. (authored by HsiangKai).
[RISCV] Implement the vwcvt{u}.x.x.v/vncvt.x.x.w builtin.
Apr 26 2021, 1:00 AM
HsiangKai committed rG645c5f27a84d: [RISCV] Implement the pseudo compare builtin. (authored by HsiangKai).
[RISCV] Implement the pseudo compare builtin.
Apr 26 2021, 1:00 AM
HsiangKai committed rGbfb3fca7e110: [RISCV] Implement the vfabs.v/vfneg.v builtin. (authored by HsiangKai).
[RISCV] Implement the vfabs.v/vfneg.v builtin.
Apr 26 2021, 1:00 AM
HsiangKai committed rG4b2434172cc1: [RISCV] Implement the vmmv.m/vmnot.m builtin. (authored by HsiangKai).
[RISCV] Implement the vmmv.m/vmnot.m builtin.
Apr 26 2021, 1:00 AM
HsiangKai closed D100824: [RISCV] Implement the vwcvt{u}.x.x.v/vncvt.x.x.w builtin..
Apr 26 2021, 1:00 AM · Restricted Project
HsiangKai closed D100823: [RISCV] Implement the pseudo compare builtin..
Apr 26 2021, 1:00 AM · Restricted Project
HsiangKai closed D100822: [RISCV] Implement the vfabs.v/vfneg.v builtin..
Apr 26 2021, 1:00 AM · Restricted Project
HsiangKai closed D100821: [RISCV] Implement the vmmv.m/vmnot.m builtin..
Apr 26 2021, 1:00 AM · Restricted Project

Apr 25 2021

HsiangKai committed rGd8fa5ef6a297: [RISCV] Apply clang_builtin_alias to overloaded builtins. (authored by HsiangKai).
[RISCV] Apply clang_builtin_alias to overloaded builtins.
Apr 25 2021, 3:13 AM
HsiangKai closed D100658: [RISCV] Apply clang_builtin_alias to overloaded builtins..
Apr 25 2021, 3:12 AM · Restricted Project

Apr 24 2021

HsiangKai committed rGe6131f7ee54e: [Clang] Fixup for D100611 (authored by HsiangKai).
[Clang] Fixup for D100611
Apr 24 2021, 6:41 PM
HsiangKai committed rG108864397d26: [Clang] Add clang attribute `clang_builtin_alias`. (authored by HsiangKai).
[Clang] Add clang attribute `clang_builtin_alias`.
Apr 24 2021, 5:49 PM
HsiangKai closed D100611: [Clang] Add clang attribute `clang_builtin_alias`..
Apr 24 2021, 5:49 PM · Restricted Project