Page MenuHomePhabricator

frasercrmck (Fraser Cormack)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 1 2015, 8:58 AM (314 w, 5 d)

Recent Activity

Yesterday

frasercrmck committed rG71a02ddda105: [VP][NFC] Format comment to 80 columns (authored by frasercrmck).
[VP][NFC] Format comment to 80 columns
Fri, Jun 11, 5:02 AM

Thu, Jun 10

frasercrmck requested review of D104032: [RISCV] Transform unaligned RVV vector loads/stores to aligned ones.
Thu, Jun 10, 7:31 AM · Restricted Project
frasercrmck accepted D103622: [RISCV] Avoid scalar outgoing arguments overwriting vector frame objects..

LGTM other than my last question. Thanks!

Thu, Jun 10, 1:57 AM · Restricted Project

Wed, Jun 9

frasercrmck added a comment to D99355: Implementation of intrinsic and SDNode definitions for VP load, store, gather, scatter..

LGTM other than the last few nits.

Wed, Jun 9, 7:48 AM · Restricted Project, Restricted Project
frasercrmck added a comment to D103622: [RISCV] Avoid scalar outgoing arguments overwriting vector frame objects..

Thanks for the detailed explanation.

Wed, Jun 9, 7:01 AM · Restricted Project
frasercrmck added a comment to D103758: [RISCV] Use ZeroOrNegativeOneBooleanContent for vectors..

I'm not familiar enough with all the decisions this affects but I agree that it should be the same. Have you seen any changes introduced by this? I'm assuming you may have tried it downstream, for example.

Wed, Jun 9, 6:45 AM · Restricted Project
frasercrmck committed rG502edebd9d6e: [ValueTypes][RISCV] Cap RVV fixed-length vectors by size (authored by frasercrmck).
[ValueTypes][RISCV] Cap RVV fixed-length vectors by size
Wed, Jun 9, 4:24 AM
frasercrmck closed D103884: [ValueTypes][RISCV] Cap RVV fixed-length vectors by size.
Wed, Jun 9, 4:23 AM · Restricted Project
frasercrmck updated the diff for D103884: [ValueTypes][RISCV] Cap RVV fixed-length vectors by size.
  • rebase on top of new MVT formatting
  • adjust tests for new VType formatting
Wed, Jun 9, 2:19 AM · Restricted Project
frasercrmck added a comment to D103790: [RISCV][NFC] Add a single space after comma for VType.

Note that I pushed rG292f4197249b to fix the failing tests introduced by this patch. Please check the test results before merging in the future, e.g. https://reviews.llvm.org/B107914 was showing this issue.

Wed, Jun 9, 1:59 AM · Restricted Project
frasercrmck committed rG292f4197249b: [RISCV] Fix failing RVV MC tests (authored by frasercrmck).
[RISCV] Fix failing RVV MC tests
Wed, Jun 9, 1:55 AM
frasercrmck committed rG80d556441adc: [ValueTypes] Add missing enum names for MVTs (authored by frasercrmck).
[ValueTypes] Add missing enum names for MVTs
Wed, Jun 9, 1:50 AM
frasercrmck closed D103883: [ValueTypes] Add missing enum names for MVTs.
Wed, Jun 9, 1:49 AM · Restricted Project
frasercrmck committed rGe8f1f8910313: [RISCV] Support CONCAT_VECTORS on scalable masks (authored by frasercrmck).
[RISCV] Support CONCAT_VECTORS on scalable masks
Wed, Jun 9, 1:16 AM
frasercrmck closed D103896: [RISCV] Support CONCAT_VECTORS on scalable masks.
Wed, Jun 9, 1:16 AM · Restricted Project

Tue, Jun 8

frasercrmck requested review of D103896: [RISCV] Support CONCAT_VECTORS on scalable masks.
Tue, Jun 8, 7:06 AM · Restricted Project
frasercrmck added a comment to D103881: [ValueTypes] Define MVTs for v6i32, v6f32, v7i32, v7f32.

Awfully brave to add new non-pow2 types; I like it. Unfortunate that we've both filed patches to this same file at the same time (D103884). One of us will have a fun time.

Tue, Jun 8, 4:05 AM · Restricted Project
frasercrmck updated the diff for D103884: [ValueTypes][RISCV] Cap RVV fixed-length vectors by size.
  • update code comments
Tue, Jun 8, 4:02 AM · Restricted Project
frasercrmck requested review of D103884: [ValueTypes][RISCV] Cap RVV fixed-length vectors by size.
Tue, Jun 8, 3:55 AM · Restricted Project
frasercrmck requested review of D103883: [ValueTypes] Add missing enum names for MVTs.
Tue, Jun 8, 3:44 AM · Restricted Project
frasercrmck committed rGccd1e087f370: [RISCV] Add a test case showing inefficient vector codegen (authored by frasercrmck).
[RISCV] Add a test case showing inefficient vector codegen
Tue, Jun 8, 3:15 AM
frasercrmck accepted D102686: [VP] getDeclarationForParams.

Might as well throw my hat in here, LGTM.

Tue, Jun 8, 2:01 AM · Restricted Project, Restricted Project
frasercrmck accepted D103736: [RISCV] Remove ForceTailAgnostic flag from vmv.s.x, vfmv.s.f and reductions..

LGTM, nice catch.

Tue, Jun 8, 1:58 AM · Restricted Project

Mon, Jun 7

frasercrmck committed rGae3f6de3a856: [InstCombine] Support negation of scalable-vector splats (authored by frasercrmck).
[InstCombine] Support negation of scalable-vector splats
Mon, Jun 7, 7:22 AM
frasercrmck closed D103801: [InstCombine] Support negation of scalable-vector splats.
Mon, Jun 7, 7:22 AM · Restricted Project
frasercrmck committed rGfd3b556958a9: [Constants] Extend support for scalable-vector splats (authored by frasercrmck).
[Constants] Extend support for scalable-vector splats
Mon, Jun 7, 6:46 AM
frasercrmck closed D103421: [Constants] Extend support for scalable-vector splats.
Mon, Jun 7, 6:46 AM · Restricted Project
frasercrmck updated the summary of D103421: [Constants] Extend support for scalable-vector splats.
Mon, Jun 7, 6:43 AM · Restricted Project
frasercrmck added inline comments to D103421: [Constants] Extend support for scalable-vector splats.
Mon, Jun 7, 4:03 AM · Restricted Project
frasercrmck requested review of D103801: [InstCombine] Support negation of scalable-vector splats.
Mon, Jun 7, 4:02 AM · Restricted Project
frasercrmck updated the diff for D103421: [Constants] Extend support for scalable-vector splats.
  • slice out change to dyn_castNegVal
  • update test with FIXME accordingly
Mon, Jun 7, 3:56 AM · Restricted Project
frasercrmck added inline comments to D103421: [Constants] Extend support for scalable-vector splats.
Mon, Jun 7, 2:30 AM · Restricted Project
frasercrmck updated the diff for D103421: [Constants] Extend support for scalable-vector splats.
  • rebase
  • add test fixme comment
  • normalize check order to fixed-length then (scalable) splat
  • consistently remove "this->" from these methods
Mon, Jun 7, 2:29 AM · Restricted Project
frasercrmck added inline comments to D103421: [Constants] Extend support for scalable-vector splats.
Mon, Jun 7, 2:17 AM · Restricted Project
frasercrmck added a comment to D103421: [Constants] Extend support for scalable-vector splats.

Ping.

Mon, Jun 7, 12:36 AM · Restricted Project

Fri, Jun 4

frasercrmck 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?

Fri, Jun 4, 6:54 AM · Restricted Project
frasercrmck accepted D103299: [RISCV] Teach vsetvli insertion pass that operations on masks don't care about SEW/LMUL..

LGTM, thanks

Fri, Jun 4, 6:38 AM · Restricted Project
frasercrmck committed rGaec9cbbeb863: [SelectionDAG] Extend FoldConstantVectorArithmetic to SPLAT_VECTOR (authored by frasercrmck).
[SelectionDAG] Extend FoldConstantVectorArithmetic to SPLAT_VECTOR
Fri, Jun 4, 2:01 AM
frasercrmck closed D103246: [SelectionDAG] Extend FoldConstantVectorArithmetic to SPLAT_VECTOR.
Fri, Jun 4, 2:01 AM · Restricted Project

Thu, Jun 3

frasercrmck added a comment to D103603: [Sema][RISCV][SVE] Allow ?: to select Typedef BuiltinType in C.

Testcase for AArch64/SVE:

#include <arm_sve.h>

svint8_t a();
__SVInt8_t b();

svint8_t foo(int cond){
  return cond ? a(): b();
}
Thu, Jun 3, 3:37 AM · Restricted Project
frasercrmck committed rG8790e85255d0: [RISCV] Reserve an emergency spill slot for any RVV spills (authored by frasercrmck).
[RISCV] Reserve an emergency spill slot for any RVV spills
Thu, Jun 3, 2:52 AM
frasercrmck closed D103269: [RISCV] Reserve an emergency spill slot for any RVV spills.
Thu, Jun 3, 2:52 AM · Restricted Project
frasercrmck committed rG1de1887f5f18: [CodeGen] Fix a scalable-vector crash in VSELECT legalization (authored by frasercrmck).
[CodeGen] Fix a scalable-vector crash in VSELECT legalization
Thu, Jun 3, 2:33 AM
frasercrmck closed D103536: [CodeGen] Fix a scalable-vector crash in VSELECT legalization.
Thu, Jun 3, 2:33 AM · Restricted Project
frasercrmck added inline comments to D103299: [RISCV] Teach vsetvli insertion pass that operations on masks don't care about SEW/LMUL..
Thu, Jun 3, 2:18 AM · Restricted Project
frasercrmck updated the diff for D103269: [RISCV] Reserve an emergency spill slot for any RVV spills.
  • rebase
  • let the build bots have a go at it
Thu, Jun 3, 1:52 AM · Restricted Project
frasercrmck added inline comments to D103536: [CodeGen] Fix a scalable-vector crash in VSELECT legalization.
Thu, Jun 3, 1:49 AM · Restricted Project
frasercrmck updated the diff for D103536: [CodeGen] Fix a scalable-vector crash in VSELECT legalization.
  • rebase & add a fixme
Thu, Jun 3, 1:48 AM · Restricted Project
frasercrmck committed rG2dd20a31f27e: [ValueTypes] Fix scalable-vector changeExtendedVectorTypeToInteger (authored by frasercrmck).
[ValueTypes] Fix scalable-vector changeExtendedVectorTypeToInteger
Thu, Jun 3, 1:45 AM
frasercrmck closed D103534: [ValueTypes] Fix scalable-vector changeExtendedVectorTypeToInteger.
Thu, Jun 3, 1:45 AM · Restricted Project

Wed, Jun 2

frasercrmck requested review of D103536: [CodeGen] Fix a scalable-vector crash in VSELECT legalization.
Wed, Jun 2, 10:12 AM · Restricted Project
frasercrmck requested review of D103534: [ValueTypes] Fix scalable-vector changeExtendedVectorTypeToInteger.
Wed, Jun 2, 9:39 AM · Restricted Project
frasercrmck added inline comments to D103269: [RISCV] Reserve an emergency spill slot for any RVV spills.
Wed, Jun 2, 8:07 AM · Restricted Project
frasercrmck updated the diff for D103269: [RISCV] Reserve an emergency spill slot for any RVV spills.
  • rebase
  • early-exit for non-V functions
  • update test checks
Wed, Jun 2, 6:24 AM · Restricted Project
frasercrmck committed rG1cea1189c200: [RISCV][NFC] Add '+mattr=+experimental-v' to RVV test (authored by frasercrmck).
[RISCV][NFC] Add '+mattr=+experimental-v' to RVV test
Wed, Jun 2, 5:17 AM
frasercrmck added a comment to D103269: [RISCV] Reserve an emergency spill slot for any RVV spills.

Add Subtarget.hasStdExtV() checking to avoid the impact on non-V code is a good idea.

Wed, Jun 2, 2:44 AM · Restricted Project
frasercrmck committed rG3b0a33d0ade8: [RISCV] Expand unaligned fixed-length vector memory accesses (authored by frasercrmck).
[RISCV] Expand unaligned fixed-length vector memory accesses
Wed, Jun 2, 1:36 AM
frasercrmck closed D102493: [RISCV] Expand unaligned fixed-length vector memory accesses.
Wed, Jun 2, 1:36 AM · Restricted Project
frasercrmck updated the diff for D102493: [RISCV] Expand unaligned fixed-length vector memory accesses.
  • rebase
  • update test checks
Wed, Jun 2, 12:35 AM · Restricted Project

Tue, Jun 1

frasercrmck 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.

Tue, Jun 1, 11:17 PM · Restricted Project
frasercrmck added a comment to D102493: [RISCV] Expand unaligned fixed-length vector memory accesses.

Ping @craig.topper, just making sure you're okay with this patch as-is before diving into the next stage.

Tue, Jun 1, 8:22 AM · Restricted Project
frasercrmck accepted D103351: [RISCV] Remove earlyclobber from vnsrl/vnsra/vnclip(u) when the source and dest are a single vector register..

LGTM

Tue, Jun 1, 4:32 AM · Restricted Project
frasercrmck accepted D103336: [RISCV] Remove earlyclobber from compares with LMUL<=1..

Yep, seems reasonable. LGTM. It might be prudent to quote the spec where it says For the purpose of register group overlap constraints, mask elements have EEW=1, since it doesn't explicitly say that in the compares section.

Tue, Jun 1, 4:26 AM · Restricted Project
frasercrmck committed rG4f500c402b73: [RISCV] Support vector types in combination with fastcc (authored by frasercrmck).
[RISCV] Support vector types in combination with fastcc
Tue, Jun 1, 2:39 AM
frasercrmck closed D102505: [RISCV] Support vector types in combination with fastcc.
Tue, Jun 1, 2:39 AM · Restricted Project
frasercrmck updated the diff for D102505: [RISCV] Support vector types in combination with fastcc.
  • rebase to see how the buildbots get on
Tue, Jun 1, 1:51 AM · Restricted Project

Mon, May 31

frasercrmck added inline comments to D103421: [Constants] Extend support for scalable-vector splats.
Mon, May 31, 10:58 AM · Restricted Project
frasercrmck requested review of D103421: [Constants] Extend support for scalable-vector splats.
Mon, May 31, 10:53 AM · Restricted Project
frasercrmck added inline comments to D103246: [SelectionDAG] Extend FoldConstantVectorArithmetic to SPLAT_VECTOR.
Mon, May 31, 4:44 AM · Restricted Project
frasercrmck updated the diff for D103246: [SelectionDAG] Extend FoldConstantVectorArithmetic to SPLAT_VECTOR.
  • catch non-constant splat_vectors
  • update rvv test checks
Mon, May 31, 4:43 AM · Restricted Project
frasercrmck added inline comments to D102505: [RISCV] Support vector types in combination with fastcc.
Mon, May 31, 4:15 AM · Restricted Project
frasercrmck added inline comments to D103246: [SelectionDAG] Extend FoldConstantVectorArithmetic to SPLAT_VECTOR.
Mon, May 31, 4:10 AM · Restricted Project
frasercrmck updated the diff for D102505: [RISCV] Support vector types in combination with fastcc.
  • use MaybeAlign over std::max
Mon, May 31, 3:53 AM · Restricted Project
frasercrmck updated the diff for D102505: [RISCV] Support vector types in combination with fastcc.
Mon, May 31, 3:50 AM · Restricted Project
frasercrmck committed rG2b37c405cc18: [RISCV] Scale scalably-typed split argument offsets by VSCALE (authored by frasercrmck).
[RISCV] Scale scalably-typed split argument offsets by VSCALE
Mon, May 31, 2:51 AM
frasercrmck closed D103262: [RISCV] Scale scalably-typed split argument offsets by VSCALE.
Mon, May 31, 2:51 AM · Restricted Project
frasercrmck updated the diff for D103262: [RISCV] Scale scalably-typed split argument offsets by VSCALE.
  • rebase
Mon, May 31, 2:13 AM · Restricted Project
frasercrmck committed rGeb2393659113: [RISCV] Support vector conversions between fp and i1 (authored by frasercrmck).
[RISCV] Support vector conversions between fp and i1
Mon, May 31, 2:04 AM
frasercrmck closed D103312: [RISCV] Support vector conversions between fp and i1.
Mon, May 31, 2:03 AM · Restricted Project

Fri, May 28

frasercrmck accepted D103224: [VP] Make getMaskParamPos/getVectorLengthParamPos return unsigned. Lowercase function names..

Since @simoll's happy, LGTM.

Fri, May 28, 5:23 AM · Restricted Project
frasercrmck updated subscribers of D103246: [SelectionDAG] Extend FoldConstantVectorArithmetic to SPLAT_VECTOR.

Thanks for the review, @RKSimon! I'm hoping to get someone like @kparzysz and @t.p.northover to review the changes in the other targets before I merge.

Fri, May 28, 5:16 AM · Restricted Project
frasercrmck requested review of D103312: [RISCV] Support vector conversions between fp and i1.
Fri, May 28, 4:44 AM · Restricted Project
frasercrmck committed rG3f5ae36833e2: [RISCV][NFC] Merge identical RV32 and RV64 test checks (authored by frasercrmck).
[RISCV][NFC] Merge identical RV32 and RV64 test checks
Fri, May 28, 4:42 AM
frasercrmck committed rGf3afd0d193d2: [RISCV] Add tests for fixed vector conversions between fp to/from i1 (authored by frasercrmck).
[RISCV] Add tests for fixed vector conversions between fp to/from i1
Fri, May 28, 4:42 AM
frasercrmck updated the diff for D103269: [RISCV] Reserve an emergency spill slot for any RVV spills.
  • rebase
  • try to find good names for the various helper functions
Fri, May 28, 2:10 AM · Restricted Project
frasercrmck added inline comments to D100577: [RISCV] Optimize getVLENFactoredAmount function..
Fri, May 28, 1:00 AM · Restricted Project
frasercrmck added inline comments to D100577: [RISCV] Optimize getVLENFactoredAmount function..
Fri, May 28, 12:56 AM · Restricted Project

Thu, May 27

frasercrmck added inline comments to D103269: [RISCV] Reserve an emergency spill slot for any RVV spills.
Thu, May 27, 10:59 AM · Restricted Project
frasercrmck added a comment to D103269: [RISCV] Reserve an emergency spill slot for any RVV spills.

@HsiangKai I believe you said in D100574 that you'd identified this issue in your downstream testing?

Thu, May 27, 10:45 AM · Restricted Project
frasercrmck requested review of D103269: [RISCV] Reserve an emergency spill slot for any RVV spills.
Thu, May 27, 10:44 AM · Restricted Project
frasercrmck added inline comments to D103262: [RISCV] Scale scalably-typed split argument offsets by VSCALE.
Thu, May 27, 9:39 AM · Restricted Project
frasercrmck added inline comments to D103262: [RISCV] Scale scalably-typed split argument offsets by VSCALE.
Thu, May 27, 9:20 AM · Restricted Project
frasercrmck added inline comments to D102505: [RISCV] Support vector types in combination with fastcc.
Thu, May 27, 9:12 AM · Restricted Project
frasercrmck updated the diff for D103262: [RISCV] Scale scalably-typed split argument offsets by VSCALE.
  • remove FIXMEs, on account of it being.. fixed
Thu, May 27, 9:08 AM · Restricted Project
frasercrmck requested review of D103262: [RISCV] Scale scalably-typed split argument offsets by VSCALE.
Thu, May 27, 9:07 AM · Restricted Project
frasercrmck committed rG6f4794feb60a: [RISCV] Add a test case showing incorrect call-conv lowering (authored by frasercrmck).
[RISCV] Add a test case showing incorrect call-conv lowering
Thu, May 27, 9:04 AM
frasercrmck added inline comments to D102505: [RISCV] Support vector types in combination with fastcc.
Thu, May 27, 7:55 AM · Restricted Project
frasercrmck updated the diff for D102493: [RISCV] Expand unaligned fixed-length vector memory accesses.
  • rebase for test changes
Thu, May 27, 7:39 AM · Restricted Project
frasercrmck committed rG5a80dc498818: [VP][SelectionDAG] Add a target-configurable EVL operand type (authored by frasercrmck).
[VP][SelectionDAG] Add a target-configurable EVL operand type
Thu, May 27, 7:35 AM
frasercrmck closed D103027: [VP][SelectionDAG] Add a target-configurable EVL operand type.
Thu, May 27, 7:35 AM · Restricted Project