Page MenuHomePhabricator

frasercrmck (Fraser Cormack)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 1 2015, 8:58 AM (407 w, 6 d)

Recent Activity

Mon, Mar 6

frasercrmck added inline comments to D145272: [RISCV] Teach performCombineVMergeAndVOps to combine unmasked TU vpmerge with a masked MU TA op..
Mon, Mar 6, 2:22 AM · Restricted Project, Restricted Project

Tue, Feb 28

frasercrmck added a comment to D144951: [IR] Clarify that expect intrinsics may take vector types.

I doubt that this was an intended feature -- just a side effect of how the intrinsic type constraints work. They always assume vectors are allowed for llvm_anyint_ty.

Tue, Feb 28, 3:35 AM · Restricted Project, Restricted Project
frasercrmck requested review of D144951: [IR] Clarify that expect intrinsics may take vector types.
Tue, Feb 28, 2:58 AM · Restricted Project, Restricted Project
frasercrmck added a comment to D144925: [RISCV][NFC] Replace the pseudos for instructions that depend on lmul with variants that encode the SEW into the name.

Just a glancing review but, to me, "expand pseudos" has a more immediate connotation of the many pseudo expansion passes (e.g., RISCVExpandPseudoInsts) than "expanding the set of pseudos" as you seem to intend it.

Tue, Feb 28, 1:38 AM · Restricted Project, Restricted Project

Feb 21 2023

frasercrmck added a comment to D143578: [VP] Add vp.powi and a pass for expanding vp.powi before DAG..

Maybe I missed the rationale, but why not use the ExpandVectorPredicationPass for this?

LLVM could not expanding scalable vector type powi now. So this pass is not only for vp.powi, but also expanding scalable vector type powi in the future.

Feb 21 2023, 2:14 AM · Restricted Project, Restricted Project

Feb 8 2023

frasercrmck added a comment to D143578: [VP] Add vp.powi and a pass for expanding vp.powi before DAG..

Maybe I missed the rationale, but why not use the ExpandVectorPredicationPass for this?

Feb 8 2023, 6:16 AM · Restricted Project, Restricted Project

Feb 6 2023

frasercrmck abandoned D107290: [RISCV] Add support for the vscale_range attribute.

Superseded by D139873 amongst others

Feb 6 2023, 1:42 AM · Restricted Project, Restricted Project, Restricted Project
frasercrmck added a comment to D143220: [RISCV] Remove side effects from vsetvli intrinsics..

Bit late to the party, but thanks for doing this

Feb 6 2023, 1:13 AM · Restricted Project, Restricted Project

Feb 2 2023

frasercrmck accepted D142144: [RISCV][Driver] Add -mrvv-vector-bits= option similar to -msve-vector-bits=.

LGTM other than test header comment that needs changed.

Feb 2 2023, 2:05 AM · Restricted Project, Restricted Project

Jan 30 2023

frasercrmck added inline comments to D142865: [RISCV] Use custom operand parsing for FenceArg..
Jan 30 2023, 3:39 AM · Restricted Project, Restricted Project
frasercrmck accepted D142865: [RISCV] Use custom operand parsing for FenceArg..

LGTM other than nits

Jan 30 2023, 12:29 AM · Restricted Project, Restricted Project

Jan 24 2023

frasercrmck added inline comments to D142144: [RISCV][Driver] Add -mrvv-vector-bits= option similar to -msve-vector-bits=.
Jan 24 2023, 8:06 AM · Restricted Project, Restricted Project

Jan 23 2023

frasercrmck added a comment to D142348: [RISCV][Docs] Document code generation for vector extension.

Thanks for kicking this off. Unfortunately I don't have the time right now to give an in-depth review.

Jan 23 2023, 4:44 AM · Restricted Project, Restricted Project
frasercrmck added inline comments to D141891: [VP][DAGCombiner] Introduce generalized pattern match for vp sdnodes..
Jan 23 2023, 1:53 AM · Restricted Project, Restricted Project
frasercrmck added inline comments to D142144: [RISCV][Driver] Add -mrvv-vector-bits= option similar to -msve-vector-bits=.
Jan 23 2023, 1:48 AM · Restricted Project, Restricted Project

Jan 12 2023

frasercrmck committed rGd808ad822a5b: [EarlyCSE] Fix crash when optimizing masked loads/stores (authored by frasercrmck).
[EarlyCSE] Fix crash when optimizing masked loads/stores
Jan 12 2023, 9:34 AM · Restricted Project, Restricted Project
frasercrmck closed D141613: [EarlyCSE] Fix crash when optimizing masked loads/stores.
Jan 12 2023, 9:34 AM · Restricted Project, Restricted Project
frasercrmck requested review of D141613: [EarlyCSE] Fix crash when optimizing masked loads/stores.
Jan 12 2023, 7:45 AM · Restricted Project, Restricted Project

Dec 13 2022

frasercrmck retitled D139877: [RISCV][InsertVSETVLI] Reverse traversal order of block in post pass [nfc] from [RISCV]{InsertVSETVLI] Reverse traversal order of block in post pass [nfc] to [RISCV][InsertVSETVLI] Reverse traversal order of block in post pass [nfc].
Dec 13 2022, 1:49 AM · Restricted Project, Restricted Project

Nov 30 2022

frasercrmck accepted D138926: [RISCV] Reuse and generalize adjustReg from another spot in frame lowering [nfc].

LGTM (with nit) - I couldn't find or think of any problems arising from this.

Nov 30 2022, 1:13 AM · Restricted Project, Restricted Project
frasercrmck accepted D138876: [RISCV] Share code for fixed offsets adjustRegs (thus materializing fewer constants).

LGTM

Nov 30 2022, 1:01 AM · Restricted Project, Restricted Project

Nov 24 2022

frasercrmck accepted D138502: [RISCV] Simplify eliminateFrameIndex in advance of reuse [nfc-ish].

LGTM too, with some minor suggestions

Nov 24 2022, 2:05 AM · Restricted Project, Restricted Project

Nov 15 2022

frasercrmck committed rGcfb0d628a778: [MergeICmps][NFC] Fix a couple of typos in a comment (authored by frasercrmck).
[MergeICmps][NFC] Fix a couple of typos in a comment
Nov 15 2022, 6:48 AM · Restricted Project, Restricted Project

Nov 10 2022

frasercrmck accepted D137633: [RISCV][NFC] Fix unused variable warning..

LGTM

Nov 10 2022, 3:10 AM · Restricted Project, Restricted Project

Nov 7 2022

frasercrmck added a comment to D137516: [TargetSupport] Move TargetParser API in a separate LLVM component..

I think this is fine, but think the name needs to be bikeshedded. "Target" and "Support" are already overloaded enough as it is. Is there anything else that would really ever go into this library?

Nov 7 2022, 1:45 AM · Restricted Project, Restricted Project, Restricted Project

Nov 2 2022

frasercrmck accepted D137218: [RISCV] Fix cost of legal fixed length masked load and stores.

LGTM

Nov 2 2022, 2:04 AM · Restricted Project, Restricted Project
frasercrmck added inline comments to D137140: [SDAG] Allow scalable vectors in ComputeKnownBits.
Nov 2 2022, 2:02 AM · Restricted Project, Restricted Project

Oct 28 2022

frasercrmck accepted D116735: [RISCV] Adjust RV64I data layout by using n32:64 in layout string.

LGTM other than a nit, but I concur that a comment in AutoUpgrade would be nice.

Oct 28 2022, 2:03 AM · Restricted Project, Restricted Project, Restricted Project

Oct 24 2022

frasercrmck added a comment to D116735: [RISCV] Adjust RV64I data layout by using n32:64 in layout string.

I agree with @reames, though I do think the patch description could use a rewrite.

Oct 24 2022, 2:19 AM · Restricted Project, Restricted Project, Restricted Project

Oct 19 2022

frasercrmck added a comment to D135913: [MachineFrameInfo][RISCV] Call ensureStackAlignment for objects created with scalable vector stack id..

Seems like a reasonable approach to me. I feel it's too difficult for targets to account for the alignment of non-default stack IDs themselves. And that's without your suspicions that scalable vectors may not even be knowingly excluded at the present time.

Oct 19 2022, 7:59 AM · Restricted Project, Restricted Project

Oct 18 2022

frasercrmck added inline comments to D135753: [VP] Teach isVPBinaryOp to recognize vp.smin/smax/umin/umax/minnum/maxnum..
Oct 18 2022, 2:03 AM · Restricted Project, Restricted Project
frasercrmck accepted D136106: [clang][RISCV] Set vscale_range attribute based on VLEN.

LGTM

Oct 18 2022, 2:00 AM · Restricted Project, Restricted Project, Restricted Project

Oct 13 2022

frasercrmck added a comment to D135895: [RISCV] Limit alignment of stack temporary used for indirect passing of scalable vectors..

Does anything in the callee expect/rely on the alignment? I'm wondering if it's possible that a caller with one subtarget uses a lower alignment than its callee with another subtarget, causing issues.

Oct 13 2022, 11:29 PM · Restricted Project, Restricted Project

Oct 11 2022

frasercrmck added inline comments to D135619: [RISCV][LegalizeTypes][TargetLowering] Add a target hook to limit alignment of scalable vectors in SelectionDAG::getReducedAlign..
Oct 11 2022, 10:40 AM · Restricted Project, Restricted Project

Oct 7 2022

frasercrmck added inline comments to D135365: [RISCV][NFC] Fix unused variable warning..
Oct 7 2022, 3:43 AM · Restricted Project, Restricted Project
frasercrmck added a comment to D135396: [RISCV] Use mask/tail agnostic if tied source is IMPLICIT_DEF regardless of the policy operand..

LGTM too - makes sense.

Oct 7 2022, 3:42 AM · Restricted Project, Restricted Project
frasercrmck added inline comments to D135418: [VP][RISCV] Add vp.smax/smin/umax/umin intrinsics.
Oct 7 2022, 3:40 AM · Restricted Project, Restricted Project

Oct 6 2022

frasercrmck accepted D135233: [VP][RISCV] Add vp.roundtozero and its RISC-V support.

LGTM

Oct 6 2022, 6:51 AM · Restricted Project, Restricted Project

Oct 5 2022

frasercrmck committed rG043a585b05f4: [LangRef][VP] Change masked-off lanes from undef to poison (authored by frasercrmck).
[LangRef][VP] Change masked-off lanes from undef to poison
Oct 5 2022, 7:25 AM · Restricted Project, Restricted Project
frasercrmck closed D135244: [LangRef][VP] Change masked-off lanes from undef to poison.
Oct 5 2022, 7:25 AM · Restricted Project, Restricted Project
frasercrmck committed rG3e97e9423742: [NFC][RISCV] Move getSEWLMULRatio function to header (authored by asi-sc).
[NFC][RISCV] Move getSEWLMULRatio function to header
Oct 5 2022, 7:12 AM · Restricted Project, Restricted Project
frasercrmck closed D135086: [NFC][RISCV] Move getSEWLMULRatio function to header.
Oct 5 2022, 7:12 AM · Restricted Project, Restricted Project
frasercrmck added inline comments to D121594: [VP] Add IR expansion for vp.icmp and vp.fcmp.
Oct 5 2022, 2:35 AM · Restricted Project, Restricted Project
frasercrmck committed rG08497a785bfb: [VP] Fix unused variable in release configurations (authored by frasercrmck).
[VP] Fix unused variable in release configurations
Oct 5 2022, 2:34 AM · Restricted Project, Restricted Project
frasercrmck added inline comments to D135233: [VP][RISCV] Add vp.roundtozero and its RISC-V support.
Oct 5 2022, 12:39 AM · Restricted Project, Restricted Project
frasercrmck updated the diff for D135244: [LangRef][VP] Change masked-off lanes from undef to poison.

add missing case, update examples sections

Oct 5 2022, 12:37 AM · Restricted Project, Restricted Project
frasercrmck requested review of D135244: [LangRef][VP] Change masked-off lanes from undef to poison.
Oct 5 2022, 12:33 AM · Restricted Project, Restricted Project
frasercrmck added inline comments to D121594: [VP] Add IR expansion for vp.icmp and vp.fcmp.
Oct 5 2022, 12:11 AM · Restricted Project, Restricted Project
frasercrmck committed rGa3a9b0743e31: [VP][NFC] Remove \brief commands from doxygen comments (authored by frasercrmck).
[VP][NFC] Remove \brief commands from doxygen comments
Oct 5 2022, 12:11 AM · Restricted Project, Restricted Project
frasercrmck committed rG3362e2d57fc0: [VP] Add IR expansion for vp.icmp and vp.fcmp (authored by frasercrmck).
[VP] Add IR expansion for vp.icmp and vp.fcmp
Oct 5 2022, 12:09 AM · Restricted Project, Restricted Project
frasercrmck closed D121594: [VP] Add IR expansion for vp.icmp and vp.fcmp.
Oct 5 2022, 12:09 AM · Restricted Project, Restricted Project

Oct 4 2022

frasercrmck added a reviewer for D121594: [VP] Add IR expansion for vp.icmp and vp.fcmp: reames.
Oct 4 2022, 8:13 AM · Restricted Project, Restricted Project
frasercrmck updated the diff for D121594: [VP] Add IR expansion for vp.icmp and vp.fcmp.

rebase

Oct 4 2022, 6:59 AM · Restricted Project, Restricted Project
frasercrmck accepted D135086: [NFC][RISCV] Move getSEWLMULRatio function to header.

LGTM

Oct 4 2022, 2:28 AM · Restricted Project, Restricted Project
frasercrmck accepted D135092: [RISCV] Restructure eliminateFrameIndex to share more code. NFC.

LGTM

Oct 4 2022, 2:24 AM · Restricted Project, Restricted Project

Oct 3 2022

frasercrmck accepted D135008: [RISCV] Pass the destination register to getVLENFactoredAmount instead of returning it. NFC.

LGTM

Oct 3 2022, 2:51 AM · Restricted Project, Restricted Project

Sep 28 2022

frasercrmck added a comment to D134785: [RISCV] Add lowering for llvm.roundeven.

This patch is for llvm.roundeven, llvm.vp.roundeven was covered in D134759.

Sep 28 2022, 3:12 AM · Restricted Project, Restricted Project
frasercrmck added a comment to D134785: [RISCV] Add lowering for llvm.roundeven.

Fixed-vector tests should be in fixed-vectors-round-vp.ll

Sep 28 2022, 3:10 AM · Restricted Project, Restricted Project
frasercrmck added inline comments to D134799: [RISCV][CodeGen][NFC] Add fixed vector type test cases for llvm.round.*.
Sep 28 2022, 3:09 AM · Restricted Project, Restricted Project
frasercrmck updated subscribers of D132978: [CodeGen] Using ZExt for extractelement indices..

Other type of regression is when i32 (marked as signed argument) has to be zero-extended to i64 (and with mask), before it used to be a copy. Considering langref changes it is probably more correct to mark index arguments as zeroext (index will be copied again no code size regression). But this should be checked with people who know more about specific targets.

Sep 28 2022, 12:29 AM · Restricted Project, Restricted Project
frasercrmck committed rGdaf51682b439: [RISCV] Rename vp.ceil test functions (authored by frasercrmck).
[RISCV] Rename vp.ceil test functions
Sep 28 2022, 12:26 AM · Restricted Project, Restricted Project
frasercrmck closed D134789: [RISCV] Rename vp.ceil test functions.
Sep 28 2022, 12:26 AM · Restricted Project, Restricted Project

Sep 27 2022

frasercrmck requested review of D134789: [RISCV] Rename vp.ceil test functions.
Sep 27 2022, 11:00 PM · Restricted Project, Restricted Project
frasercrmck added a comment to D134785: [RISCV] Add lowering for llvm.roundeven.

Fixed vector tests?

Sep 27 2022, 10:38 PM · Restricted Project, Restricted Project
frasercrmck retitled D134720: [RISCV][NFC] Add test for extractelt of vector types that should be split. from [RISCV][NFC] Add test for extractelt of vector types that should be splitted. to [RISCV][NFC] Add test for extractelt of vector types that should be split..
Sep 27 2022, 10:31 PM · Restricted Project, Restricted Project
frasercrmck added a comment to D134586: [VP][RISCV] Add vp.ceil and RISC-V support.

Forgive me if I've missed something but you're adding support for widening and splitting in the legalizer without adding tests for that behaviour.

There's a <vscale x 7 x double> <vscale x 16 x double>, <15 x double> and <32 x double> test. Does that cover it?

Sep 27 2022, 8:20 AM · Restricted Project, Restricted Project
frasercrmck added a comment to D134586: [VP][RISCV] Add vp.ceil and RISC-V support.

Forgive me if I've missed something but you're adding support for widening and splitting in the legalizer without adding tests for that behaviour.

Sep 27 2022, 1:46 AM · Restricted Project, Restricted Project
frasercrmck added a comment to D134474: [VP][RISCV] Add vp.fmuladd..

LGTM but I have seen that we have some %t and %also.r mismatches throughout the LangRef that were introduced with the more recent VP intrinsics that have probably since been copy/pasted.

Sep 27 2022, 1:43 AM · Restricted Project, Restricted Project
frasercrmck accepted D134474: [VP][RISCV] Add vp.fmuladd..

LGTM but I have seen that we have some %t and %also.r mismatches throughout the LangRef that were introduced with the more recent VP intrinsics that have probably since been copy/pasted.

Sep 27 2022, 1:41 AM · Restricted Project, Restricted Project

Sep 26 2022

frasercrmck committed rG4b1833d7d98e: [Support][NFC] Fix typo in comment (authored by frasercrmck).
[Support][NFC] Fix typo in comment
Sep 26 2022, 11:44 PM · Restricted Project, Restricted Project

Sep 22 2022

frasercrmck committed rG92d71c615de1: [RISCV] Use structured bindings in common RVV lowering code (authored by frasercrmck).
[RISCV] Use structured bindings in common RVV lowering code
Sep 22 2022, 8:51 AM · Restricted Project, Restricted Project
frasercrmck closed D134442: [RISCV] Use structured bindings in common RVV lowering code.
Sep 22 2022, 8:51 AM · Restricted Project, Restricted Project
frasercrmck requested review of D134442: [RISCV] Use structured bindings in common RVV lowering code.
Sep 22 2022, 8:29 AM · Restricted Project, Restricted Project
frasercrmck accepted D134400: [RISCV] Improve support for vector fp_to_sint_sat/uint_sat..

LGTM. Thanks, this has been on my list for a long while but I've not had the bandwidth to do much upstreaming recently.

Sep 22 2022, 2:35 AM · Restricted Project, Restricted Project

Sep 20 2022

frasercrmck added a comment to D133810: [RISCV] Verify consistency of a couple TSFlags related to vector operands.

I think some level of verification makes sense. I half worry that some instructions may not behave so nicely and we'll have to add exceptions to our rules, but none come to mind right now.

Sep 20 2022, 2:03 AM · Restricted Project, Restricted Project

Sep 15 2022

frasercrmck accepted D133514: [VP][VE] Default VP_SREM/UREM to Expand and add generic expansion using VP_SDIV/UDIV+VP_MUL+VP_SUB..

LGTM

Sep 15 2022, 1:58 AM · Restricted Project, Restricted Project

Sep 6 2022

frasercrmck added inline comments to D133373: [docs][RISCV] Document status of scalar crypto extensions.
Sep 6 2022, 11:54 PM · Restricted Project, Restricted Project
frasercrmck added inline comments to D133214: [docs][RISCV] Document experimental extensions.
Sep 6 2022, 11:52 PM · Restricted Project, Restricted Project
frasercrmck accepted D133335: [RISCV] Improve vector fround lowering by changing FRM..

LGTM too

Sep 6 2022, 1:26 AM · Restricted Project, Restricted Project

Sep 5 2022

frasercrmck added a comment to D133238: [RISCV] Improve vector fceil/ffloor lowering by changing FRM..

Looks good to me.

Sep 5 2022, 7:23 AM · Restricted Project, Restricted Project

Sep 1 2022

frasercrmck added inline comments to D122875: [DAGCombiner] Scalarize extend/truncate for splat vector..
Sep 1 2022, 7:41 AM · Restricted Project, Restricted Project
frasercrmck added a comment to D133063: [docs] Add a RISC-V Usage page.

Thanks for doing this!

Sep 1 2022, 3:08 AM · Restricted Project, Restricted Project

Aug 29 2022

frasercrmck added a comment to D132793: [VP][RISCV] Add vp.fabs intrinsic and RISC-V support..

Do we need a new test in expand-vp.ll? It seems that test has been forgotten about somewhat. There's no fneg in there. Maybe the expansion for that hasn't been implemented? Hard to keep track.

Aug 29 2022, 2:28 AM · Restricted Project, Restricted Project

Aug 25 2022

frasercrmck accepted D132637: [RISCV][NFC] Use common prefix to simplify test..

LGTM

Aug 25 2022, 2:34 AM · Restricted Project, Restricted Project

Aug 3 2022

frasercrmck added inline comments to D130689: [LLVM] Update C++ standard to 17.
Aug 3 2022, 4:54 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project
frasercrmck accepted D130685: [LegalizeTypes][VP] Add split operand support for VP_FPTOSI/VP_FPTOUI/VP_SITOFP/VP_UITOFP.

LGTM

Aug 3 2022, 2:58 AM · Restricted Project, Restricted Project
frasercrmck added inline comments to D129745: Fix a stack overflow in ScalarEvolution..
Aug 3 2022, 2:35 AM · Restricted Project, Restricted Project
frasercrmck committed rG646e2f480336: [VP] Rename VP int<->float conversion ISD opcodes (authored by frasercrmck).
[VP] Rename VP int<->float conversion ISD opcodes
Aug 3 2022, 2:16 AM · Restricted Project, Restricted Project
frasercrmck closed D130967: [VP] Rename VP int<->float conversion ISD opcodes.
Aug 3 2022, 2:16 AM · Restricted Project, Restricted Project

Aug 2 2022

frasercrmck added a comment to D130685: [LegalizeTypes][VP] Add split operand support for VP_FPTOSI/VP_FPTOUI/VP_SITOFP/VP_UITOFP.

The change LGTM but I'd like to know why only VP INT_TO_FP nodes are handled in this code.

Aug 2 2022, 12:48 AM · Restricted Project, Restricted Project
frasercrmck requested review of D130967: [VP] Rename VP int<->float conversion ISD opcodes.
Aug 2 2022, 12:44 AM · Restricted Project, Restricted Project

Jul 28 2022

frasercrmck accepted D130659: [RISCV] Update lowerFROUND to use masked instructions..

LGTM

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

Jul 20 2022

frasercrmck added inline comments to D130141: [RISCV] Add MC support of RISCV Zca Extension.
Jul 20 2022, 6:53 AM · Restricted Project, Restricted Project
frasercrmck accepted D130068: [RISCV][NFCI] Set TransientStackAlignment and rely on it rather than RVV-specific logic on RVV-less functions.

LGTM, thanks for the well-written description.

Jul 20 2022, 6:30 AM · Restricted Project, Restricted Project

Jul 18 2022

frasercrmck added inline comments to D129757: [RISCV] Optimize SELECT_CC when the true value of select is Constant.
Jul 18 2022, 2:59 AM · Restricted Project, Restricted Project
frasercrmck added inline comments to D129948: [RISCV] Fold stack reload into sext.w by using lw instead of ld..
Jul 18 2022, 1:59 AM · Restricted Project, Restricted Project

Jul 14 2022

frasercrmck accepted D129656: Mark the llvm.vector.insert/extract intrinsics speculatable.

LGTM

Jul 14 2022, 12:32 PM · Restricted Project, Restricted Project, Restricted Project
frasercrmck committed rGd1a5669f5e44: [RISCV] Disable subregister liveness by default (authored by frasercrmck).
[RISCV] Disable subregister liveness by default
Jul 14 2022, 9:16 AM · Restricted Project, Restricted Project
frasercrmck closed D129646: [RISCV] Disable subregister liveness by default.
Jul 14 2022, 9:15 AM · Restricted Project, Restricted Project
frasercrmck added a comment to D129735: [RISCV] Add new pass to transform undef to pseudo for vector values..

Sorry, I've not had time to think about this today. Just wanted to check: does this pass actually fix the test I added in D129639? Because that isn't (obviously) using undef input values, at least in the IR.

Short answer is yes, but come with few more vmv.v.i instruction for prevent allocated same reg, poison and undef all turn into IMPLICIT_DEF in back-end.

Jul 14 2022, 8:49 AM · Restricted Project, Restricted Project