Page MenuHomePhabricator

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

luke (Luke Lau)
User

Projects

User does not belong to any projects.

User Details

User Since
Apr 9 2019, 6:59 AM (242 w, 4 d)

Recent Activity

Wed, Nov 29

luke committed rGc0b926939829: [RISCV] Add helper to copy the AVL of another VSETVLIInfo. NFC (authored by luke).
[RISCV] Add helper to copy the AVL of another VSETVLIInfo. NFC
Wed, Nov 29, 11:20 PM · Restricted Project, Restricted Project

Tue, Nov 28

luke committed rGd20cc3ef4cc3: [RISCV] Order includes. NFC (authored by luke).
[RISCV] Order includes. NFC
Tue, Nov 28, 3:40 AM · Restricted Project, Restricted Project
luke committed rG2a8040e8f663: [RISCV] Avoid looking up base opcode when converting vmerge -> vmv. NFC (authored by luke).
[RISCV] Avoid looking up base opcode when converting vmerge -> vmv. NFC
Tue, Nov 28, 3:28 AM · Restricted Project, Restricted Project

Sun, Nov 19

luke committed rG933dd03386df: [RISCV] Remove checks that MI's info is valid. NFC (authored by luke).
[RISCV] Remove checks that MI's info is valid. NFC
Sun, Nov 19, 9:24 PM · Restricted Project, Restricted Project
luke committed rG69f64dedb09b: [RISCV] Use DemandedFields instead of checking for vmv.s.x/vmv.x.s. NFC (authored by luke).
[RISCV] Use DemandedFields instead of checking for vmv.s.x/vmv.x.s. NFC
Sun, Nov 19, 9:24 PM · Restricted Project, Restricted Project

Wed, Nov 15

luke committed rG1b781ee9284d: [RISCV] Refactor isAllOnesMask. NFC (authored by luke).
[RISCV] Refactor isAllOnesMask. NFC
Wed, Nov 15, 1:15 AM · Restricted Project, Restricted Project

Tue, Nov 7

luke committed rGfd4804423be5: [RISCV] Add tests for pseudos that shouldn't have vmerge folded into them. NFC (authored by luke).
[RISCV] Add tests for pseudos that shouldn't have vmerge folded into them. NFC
Tue, Nov 7, 2:26 AM · Restricted Project, Restricted Project

Mon, Nov 6

luke committed rG5ed0b215805f: [RISCV] Add FileCheck prefixes for test where RV32/RV64 output differs. NFC (authored by luke).
[RISCV] Add FileCheck prefixes for test where RV32/RV64 output differs. NFC
Mon, Nov 6, 3:32 AM · Restricted Project, Restricted Project

Oct 30 2023

luke committed rGfecd11ba8755: [RISCV] Remove old peephole declaration in RISCVISelDAGToDAG.h. NFC (authored by luke).
[RISCV] Remove old peephole declaration in RISCVISelDAGToDAG.h. NFC
Oct 30 2023, 8:46 AM · Restricted Project, Restricted Project

Oct 18 2023

luke committed rG3927b9ab1154: [VectorCombine] Add tests for unspeculatable VP binops. NFC (authored by luke).
[VectorCombine] Add tests for unspeculatable VP binops. NFC
Oct 18 2023, 11:23 AM · Restricted Project, Restricted Project

Sep 27 2023

luke committed rG5ffbdd9ed5fb: [RISCV] Handle .vx pseudos in hasAllNBitUsers (#67419) (authored by luke).
[RISCV] Handle .vx pseudos in hasAllNBitUsers (#67419)
Sep 27 2023, 11:54 AM · Restricted Project, Restricted Project

Sep 22 2023

luke committed rGdeac0217a171: [CodeGen] Remove extraneous spaces at start of line in TargetOpcodes.def. NFC (authored by luke).
[CodeGen] Remove extraneous spaces at start of line in TargetOpcodes.def. NFC
Sep 22 2023, 4:44 AM · Restricted Project, Restricted Project

Sep 20 2023

luke abandoned D151653: [RISCV] Combine vmv.s.x of constants into vmv.v.i.

Done in D152845

Sep 20 2023, 7:06 AM · Restricted Project, Restricted Project

Sep 19 2023

luke committed rG73c2cb599913: [RISCV] Merge RV32/RV64 CHECK lines in strided vp load/store tests. NFC (authored by luke).
[RISCV] Merge RV32/RV64 CHECK lines in strided vp load/store tests. NFC
Sep 19 2023, 4:25 AM · Restricted Project, Restricted Project

Sep 13 2023

luke committed rG2ec7dbaff742: [RISCV] Update comment on vslide*_vl that it has a sixth policy operand. NFC (authored by luke).
[RISCV] Update comment on vslide*_vl that it has a sixth policy operand. NFC
Sep 13 2023, 9:53 AM · Restricted Project, Restricted Project

Sep 12 2023

luke committed rGb2f1a1b20b7c: [RISCV] Move getSmallestVTForIndex so it can be used by lowerINSERT_VECTOR_ELT. (authored by luke).
[RISCV] Move getSmallestVTForIndex so it can be used by lowerINSERT_VECTOR_ELT.
Sep 12 2023, 7:58 AM · Restricted Project, Restricted Project

Sep 5 2023

luke committed rG2fc6fadeaf9e: [RISCV] Fix typo in test title. NFC (authored by luke).
[RISCV] Fix typo in test title. NFC
Sep 5 2023, 8:02 AM · Restricted Project, Restricted Project

Sep 4 2023

luke committed rG6098d7d5f653: [RISCV] Lower shuffles as rotates without zvbb (authored by luke).
[RISCV] Lower shuffles as rotates without zvbb
Sep 4 2023, 1:35 AM · Restricted Project, Restricted Project
luke closed D159353: [RISCV] Lower shuffles as rotates without zvbb.
Sep 4 2023, 1:35 AM · Restricted Project, Restricted Project

Sep 1 2023

luke added a comment to D159190: [RISCV]Combine to make the fixed vector vadd of splats are scalarized.

But on RISC-V we'll need a vmv.x.s, so I don't think that qualifies as "free". But this is only if it's coming from a vector_shuffle if I understand correctly: build_vector splats and splat_vector splats should indeed be free because the extract_vector_elt will be combined away.

Sep 1 2023, 8:09 AM · Restricted Project, Restricted Project
luke added a comment to D159190: [RISCV]Combine to make the fixed vector vadd of splats are scalarized.

Another solution, enabling the isExtractVecEltCheap when XlenVT == vector_element_type, It's working for pr65068.ll.

Sep 1 2023, 7:26 AM · Restricted Project, Restricted Project
luke added inline comments to D159353: [RISCV] Lower shuffles as rotates without zvbb.
Sep 1 2023, 5:48 AM · Restricted Project, Restricted Project
luke requested review of D159353: [RISCV] Lower shuffles as rotates without zvbb.
Sep 1 2023, 5:43 AM · Restricted Project, Restricted Project

Aug 31 2023

luke committed rG1664eb05d0d3: [RISCV] Fix crash during during i1 vector bitreverse lowering (authored by luke).
[RISCV] Fix crash during during i1 vector bitreverse lowering
Aug 31 2023, 11:39 AM · Restricted Project, Restricted Project
luke closed D159215: [RISCV] Fix crash during during i1 vector bitreverse lowering.
Aug 31 2023, 11:39 AM · Restricted Project, Restricted Project
luke committed rG7b33f60f13dc: [RISCV] Remove vmv_v_x_vl workaround for constant splat. NFC (authored by luke).
[RISCV] Remove vmv_v_x_vl workaround for constant splat. NFC
Aug 31 2023, 11:36 AM · Restricted Project, Restricted Project
luke closed D159287: [RISCV] Remove vmv_v_x_vl workaround for constant splat. NFC.
Aug 31 2023, 11:36 AM · Restricted Project, Restricted Project
luke added inline comments to D158853: [SDAG] Add SimplifyDemandedBits support for ISD::SPLAT_VECTOR_PARTS.
Aug 31 2023, 11:34 AM · Restricted Project, Restricted Project
luke updated the diff for D158853: [SDAG] Add SimplifyDemandedBits support for ISD::SPLAT_VECTOR_PARTS.

Rebase on top of new test cases

Aug 31 2023, 11:31 AM · Restricted Project, Restricted Project
luke requested review of D159302: [RISCV] Add tests for demanded bits in splat_vector_parts. NFC.
Aug 31 2023, 11:31 AM · Restricted Project, Restricted Project
luke requested review of D159287: [RISCV] Remove vmv_v_x_vl workaround for constant splat. NFC.
Aug 31 2023, 7:39 AM · Restricted Project, Restricted Project
luke added a comment to D159219: [RISCV] Cost illegally typed insert/extract elements correctly.

Makes sense to me: this is to mirror the codegen in DAGTypeLegalizer ::SplitVecRes_INSERT_VECTOR_ELT and DAGTypeLegalizer::SplitVecOp_EXTRACT_VECTOR_ELT?

Aug 31 2023, 4:28 AM · Restricted Project, Restricted Project
luke added inline comments to D159230: [RISCV] Handle EltType > XLEN case in VMV_V_X_VL to VMV_S_X_VL fold.
Aug 31 2023, 4:09 AM · Restricted Project, Restricted Project
luke updated the diff for D159215: [RISCV] Fix crash during during i1 vector bitreverse lowering.

Add a comment to the test case

Aug 31 2023, 3:44 AM · Restricted Project, Restricted Project
luke added a comment to D159215: [RISCV] Fix crash during during i1 vector bitreverse lowering.

I was thinking about adding v1i256, v1i512, etc. Is it feasible?

Aug 31 2023, 3:37 AM · Restricted Project, Restricted Project
luke updated the diff for D159215: [RISCV] Fix crash during during i1 vector bitreverse lowering.

Use EVTs (should future proof against larger types if they're ever added
too)
Fix test, move it into separate file since changing zvl causes a large
test diff, as all the LMULs change

Aug 31 2023, 3:36 AM · Restricted Project, Restricted Project

Aug 30 2023

luke requested review of D159215: [RISCV] Fix crash during during i1 vector bitreverse lowering.
Aug 30 2023, 10:12 AM · Restricted Project, Restricted Project
luke committed rG3a4ad45a2c5e: [DAGCombiner] Combine trunc (splat_vector x) -> splat_vector (trunc x) (authored by luke).
[DAGCombiner] Combine trunc (splat_vector x) -> splat_vector (trunc x)
Aug 30 2023, 7:23 AM · Restricted Project, Restricted Project
luke closed D159147: [DAGCombiner] Combine trunc (splat_vector x) -> splat_vector (trunc x).
Aug 30 2023, 7:23 AM · Restricted Project, Restricted Project
luke added a comment to D159190: [RISCV]Combine to make the fixed vector vadd of splats are scalarized.

Thanks for the patch. Did you take a look at scalarizeBinOpOfSplats in DAGCombiner? I think that might be more generic, it's the combine that kicks in for the scalable vector test case in that issue. I was wondering if it would be possible to get it to work on fixed vectors too.

I have a question, this ir has been optimized in the opt phase. https://godbolt.org/z/MPvvTG5dT Maybe we don't need another combine in codegen?

Good point, I didn't realise opt already took care of this. I guess it depends if this pattern is introduced during codegen at all

Aug 30 2023, 7:19 AM · Restricted Project, Restricted Project
luke added a comment to D159190: [RISCV]Combine to make the fixed vector vadd of splats are scalarized.

Thanks for the patch. Did you take a look at scalarizeBinOpOfSplats in DAGCombiner? I think that might be more generic, it's the combine that kicks in for the scalable vector test case in that issue. I was wondering if it would be possible to get it to work on fixed vectors too.

I have a question, this ir has been optimized in the opt phase. https://godbolt.org/z/MPvvTG5dT Maybe we don't need another combine in codegen?

Aug 30 2023, 7:09 AM · Restricted Project, Restricted Project
luke added a comment to D159190: [RISCV]Combine to make the fixed vector vadd of splats are scalarized.

Thanks for the patch. Did you take a look at scalarizeBinOpOfSplats in DAGCombiner? I think that might be more generic, it's the combine that kicks in for the scalable vector test case in that issue. I was wondering if it would be possible to get it to work on fixed vectors too.

Aug 30 2023, 6:18 AM · Restricted Project, Restricted Project
luke committed rGa61c4a0ef6f9: [RISCV][SelectionDAG] Lower shuffles as bitrotates with vror.vi when possible (authored by luke).
[RISCV][SelectionDAG] Lower shuffles as bitrotates with vror.vi when possible
Aug 30 2023, 3:02 AM · Restricted Project, Restricted Project
luke committed rG976244bb845c: [RISCV] Canonicalize vrot{l,r} to vrev8 when lowering shuffle as rotate (authored by luke).
[RISCV] Canonicalize vrot{l,r} to vrev8 when lowering shuffle as rotate
Aug 30 2023, 3:02 AM · Restricted Project, Restricted Project
luke closed D158195: [RISCV] Canonicalize vrot{l,r} to vrev8 when lowering shuffle as rotate.
Aug 30 2023, 3:02 AM · Restricted Project, Restricted Project
luke closed D157417: [RISCV][SelectionDAG] Lower shuffles as bitrotates with vror.vi when possible.
Aug 30 2023, 3:02 AM · Restricted Project, Restricted Project

Aug 29 2023

luke requested review of D159147: [DAGCombiner] Combine trunc (splat_vector x) -> splat_vector (trunc x).
Aug 29 2023, 4:44 PM · Restricted Project, Restricted Project
luke added a comment to D157417: [RISCV][SelectionDAG] Lower shuffles as bitrotates with vror.vi when possible.

Just to be explicit - my LGTM still stands here.

Aug 29 2023, 4:39 PM · Restricted Project, Restricted Project
luke added inline comments to D158853: [SDAG] Add SimplifyDemandedBits support for ISD::SPLAT_VECTOR_PARTS.
Aug 29 2023, 3:46 PM · Restricted Project, Restricted Project
luke accepted D158874: [RISCV] Form vmv.s.f/x from single element splats via DAG combine.

LGTM

Aug 29 2023, 9:13 AM · Restricted Project, Restricted Project
luke added inline comments to D157976: [RISCV] Use materialization cost when lowering constant build_vector.
Aug 29 2023, 8:20 AM · Restricted Project, Restricted Project
luke committed rG18c7bf0b85f5: [RISCV] Refactor selectVSplat. NFCI (authored by luke).
[RISCV] Refactor selectVSplat. NFCI
Aug 29 2023, 7:42 AM · Restricted Project, Restricted Project
luke closed D158741: [RISCV] Refactor selectVSplat. NFCI.
Aug 29 2023, 7:42 AM · Restricted Project, Restricted Project
luke added inline comments to D158853: [SDAG] Add SimplifyDemandedBits support for ISD::SPLAT_VECTOR_PARTS.
Aug 29 2023, 7:35 AM · Restricted Project, Restricted Project
luke accepted D158870: [SelectionDAG][RISCV] Teach getConstant to use SPLAT_VECTOR_PARTS if vXi64 SPLAT_VECTOR is legal but i64 scalars are not..

LGTM

Aug 29 2023, 6:30 AM · Restricted Project, Restricted Project

Aug 28 2023

luke added inline comments to D158852: [SDAG] Add computeKnownBits support for ISD::SPLAT_VECTOR_PARTS.
Aug 28 2023, 3:23 AM · Restricted Project, Restricted Project
luke committed rG8f1d1e2b615b: [SDAG] Add computeKnownBits support for ISD::SPLAT_VECTOR_PARTS (authored by luke).
[SDAG] Add computeKnownBits support for ISD::SPLAT_VECTOR_PARTS
Aug 28 2023, 2:37 AM · Restricted Project, Restricted Project
luke committed rG6e4860f5d028: [SDAG] Add SimplifyDemandedBits support for ISD::SPLAT_VECTOR (authored by luke).
[SDAG] Add SimplifyDemandedBits support for ISD::SPLAT_VECTOR
Aug 28 2023, 2:36 AM · Restricted Project, Restricted Project
luke closed D158852: [SDAG] Add computeKnownBits support for ISD::SPLAT_VECTOR_PARTS.
Aug 28 2023, 2:36 AM · Restricted Project, Restricted Project
luke closed D158839: [SDAG] Add SimplifyDemandedBits support for ISD::SPLAT_VECTOR.
Aug 28 2023, 2:36 AM · Restricted Project, Restricted Project
luke added inline comments to D158839: [SDAG] Add SimplifyDemandedBits support for ISD::SPLAT_VECTOR.
Aug 28 2023, 2:36 AM · Restricted Project, Restricted Project

Aug 25 2023

luke added inline comments to D158854: [RISCV] Move vmv_s_x and vfmv_s_f special casing to DAG combine.
Aug 25 2023, 8:39 AM · Restricted Project, Restricted Project
luke requested review of D158853: [SDAG] Add SimplifyDemandedBits support for ISD::SPLAT_VECTOR_PARTS.
Aug 25 2023, 8:31 AM · Restricted Project, Restricted Project
luke requested review of D158852: [SDAG] Add computeKnownBits support for ISD::SPLAT_VECTOR_PARTS.
Aug 25 2023, 8:23 AM · Restricted Project, Restricted Project
luke updated the diff for D158839: [SDAG] Add SimplifyDemandedBits support for ISD::SPLAT_VECTOR.

Just use KnownScl instead of computing it again

Aug 25 2023, 8:21 AM · Restricted Project, Restricted Project
luke added inline comments to D158839: [SDAG] Add SimplifyDemandedBits support for ISD::SPLAT_VECTOR.
Aug 25 2023, 8:13 AM · Restricted Project, Restricted Project
luke updated the diff for D158839: [SDAG] Add SimplifyDemandedBits support for ISD::SPLAT_VECTOR.

Update WebAssembly test

Aug 25 2023, 8:01 AM · Restricted Project, Restricted Project
luke updated the summary of D158839: [SDAG] Add SimplifyDemandedBits support for ISD::SPLAT_VECTOR.
Aug 25 2023, 5:14 AM · Restricted Project, Restricted Project
luke requested review of D158839: [SDAG] Add SimplifyDemandedBits support for ISD::SPLAT_VECTOR.
Aug 25 2023, 5:12 AM · Restricted Project, Restricted Project
luke added a comment to D158742: [RISCV] Detect bitcasted splat patterns.

Should we DAGCombine some of this away? Or custom lower fixed vector bitcasts into scalable bitcast?

Aug 25 2023, 4:07 AM · Restricted Project, Restricted Project
luke accepted D158770: [RISCV] Restructure i1 insert/extract element costing [nfc-ish].

LGTM

Aug 25 2023, 2:36 AM · Restricted Project, Restricted Project

Aug 24 2023

luke requested review of D158742: [RISCV] Detect bitcasted splat patterns.
Aug 24 2023, 7:49 AM · Restricted Project, Restricted Project
luke requested review of D158741: [RISCV] Refactor selectVSplat. NFCI.
Aug 24 2023, 7:48 AM · Restricted Project, Restricted Project
luke committed rG515bd40b4ef5: [RISCV] Fix test using wrong variable. NFC (authored by luke).
[RISCV] Fix test using wrong variable. NFC
Aug 24 2023, 7:47 AM · Restricted Project, Restricted Project
luke accepted D158711: [RISCV] Add missed HasRoundModeOp for VPseudoUnaryMask_FRM/VPseudoUnaryMask_FRM..

LGTM

Aug 24 2023, 4:22 AM · Restricted Project, Restricted Project
luke committed rGe772c0ecd814: [RISCV] Use vmv.v.x if Hi bits are undef when lowering splat_vector_parts (authored by luke).
[RISCV] Use vmv.v.x if Hi bits are undef when lowering splat_vector_parts
Aug 24 2023, 4:19 AM · Restricted Project, Restricted Project
luke closed D158625: [RISCV] Use vmv.v.x if Hi bits are undef when lowering splat_vector_parts.
Aug 24 2023, 4:19 AM · Restricted Project, Restricted Project

Aug 23 2023

luke committed rG06d3ee9603b6: [RISCV] Fix wrong operand being used for VL in shift combine (authored by luke).
[RISCV] Fix wrong operand being used for VL in shift combine
Aug 23 2023, 9:44 AM · Restricted Project, Restricted Project
luke closed D158634: [RISCV] Fix wrong operand being used for VL in shift combine.
Aug 23 2023, 9:44 AM · Restricted Project, Restricted Project
luke added inline comments to D158634: [RISCV] Fix wrong operand being used for VL in shift combine.
Aug 23 2023, 9:34 AM · Restricted Project, Restricted Project
luke requested review of D158634: [RISCV] Fix wrong operand being used for VL in shift combine.
Aug 23 2023, 9:31 AM · Restricted Project, Restricted Project
luke accepted D158622: [RISCV] Cost slide in insertelement/extractelement as linear in LMUL.

LGTM

Aug 23 2023, 8:31 AM · Restricted Project, Restricted Project
luke requested review of D158625: [RISCV] Use vmv.v.x if Hi bits are undef when lowering splat_vector_parts.
Aug 23 2023, 8:22 AM · Restricted Project, Restricted Project

Aug 22 2023

luke accepted D157886: [RISCV] Match strided loads with reversed indexing sequences.

LGTM

Aug 22 2023, 7:52 AM · Restricted Project, Restricted Project
luke accepted D158460: [RISCV] Reduce LMUL for vector extracts.

LGTM

Aug 22 2023, 3:21 AM · Restricted Project, Restricted Project
luke committed rG4f996d7fbf29: [RISCV] Add test for constant build_vector that could use vid. NFC (authored by luke).
[RISCV] Add test for constant build_vector that could use vid. NFC
Aug 22 2023, 3:14 AM · Restricted Project, Restricted Project
luke committed rG946c672fe0b4: [RISCV] Remove fixed length lmul max restriction from fp build_vector tests. NFC (authored by luke).
[RISCV] Remove fixed length lmul max restriction from fp build_vector tests. NFC
Aug 22 2023, 3:14 AM · Restricted Project, Restricted Project
luke committed rG7492b54bd52d: [RISCV] Split up structs in buildvec tests. NFC (authored by luke).
[RISCV] Split up structs in buildvec tests. NFC
Aug 22 2023, 3:14 AM · Restricted Project, Restricted Project
luke committed rG9918853215d6: [RISCV] Remove fixed length lmul max restriction from build_vector tests. NFC (authored by luke).
[RISCV] Remove fixed length lmul max restriction from build_vector tests. NFC
Aug 22 2023, 3:13 AM · Restricted Project, Restricted Project
luke closed D158270: [RISCV] Remove fixed length lmul max restriction from fp build_vector tests. NFC.
Aug 22 2023, 3:13 AM · Restricted Project, Restricted Project
luke closed D157975: [RISCV] Add test for constant build_vector that could use vid. NFC.
Aug 22 2023, 3:13 AM · Restricted Project, Restricted Project
luke closed D157974: [RISCV] Split up structs in buildvec tests. NFC.
Aug 22 2023, 3:13 AM · Restricted Project, Restricted Project
luke closed D157973: [RISCV] Remove fixed length lmul max restriction from build_vector tests. NFC.
Aug 22 2023, 3:13 AM · Restricted Project, Restricted Project
luke added inline comments to D158195: [RISCV] Canonicalize vrot{l,r} to vrev8 when lowering shuffle as rotate.
Aug 22 2023, 3:10 AM · Restricted Project, Restricted Project
luke updated the diff for D157417: [RISCV][SelectionDAG] Lower shuffles as bitrotates with vror.vi when possible.

Rename filecheck prefixes

Aug 22 2023, 3:02 AM · Restricted Project, Restricted Project
luke added reviewers for D157417: [RISCV][SelectionDAG] Lower shuffles as bitrotates with vror.vi when possible: pengfei, goldstein.w.n.

Adding a few more X86 people, hope you're ok with me stealing your code :)

Aug 22 2023, 2:57 AM · Restricted Project, Restricted Project
luke added inline comments to D157417: [RISCV][SelectionDAG] Lower shuffles as bitrotates with vror.vi when possible.
Aug 22 2023, 2:53 AM · Restricted Project, Restricted Project
luke added inline comments to D158161: [RISCV] Don't relax policy to ta when vmerge's VL shrinks during folding.
Aug 22 2023, 2:40 AM · Restricted Project, Restricted Project
luke committed rG007b41b39398: [RISCV] Don't relax policy to ta when vmerge's VL shrinks during folding (authored by luke).
[RISCV] Don't relax policy to ta when vmerge's VL shrinks during folding
Aug 22 2023, 2:39 AM · Restricted Project, Restricted Project
luke committed rG6e532f94eb0e: [RISCV] Add test case showing vmerge fold miscompile with tail policy (authored by luke).
[RISCV] Add test case showing vmerge fold miscompile with tail policy
Aug 22 2023, 2:39 AM · Restricted Project, Restricted Project