Page MenuHomePhabricator

c-rhodes (Cullen Rhodes)
User

Projects

User does not belong to any projects.

User Details

User Since
May 18 2016, 6:13 AM (320 w, 23 h)

Recent Activity

Today

c-rhodes added a comment to D128631: [AArch64] Initial sched model for Neoverse N2.

Thanks LGTM

The one reg variant of EXTR (both input registers are the same, can’t be modelled)

It may be possible with a SchedulePredicate, but I think it's fairly minor. This patch is looking good.

Thu, Jul 7, 3:24 AM · Restricted Project, Restricted Project
c-rhodes added inline comments to D128631: [AArch64] Initial sched model for Neoverse N2.
Thu, Jul 7, 2:28 AM · Restricted Project, Restricted Project
c-rhodes updated the diff for D128631: [AArch64] Initial sched model for Neoverse N2.

The one reg variant of EXTR (both input registers are the same, can’t be modelled) was incorrectly modelled as the W form. Use the two regs properties for W form.

Thu, Jul 7, 2:26 AM · Restricted Project, Restricted Project
c-rhodes added inline comments to D128631: [AArch64] Initial sched model for Neoverse N2.
Thu, Jul 7, 1:12 AM · Restricted Project, Restricted Project

Yesterday

c-rhodes added inline comments to D129203: [AArch64] Use Neoverse N2 sched model as default for:.
Wed, Jul 6, 7:42 AM · Restricted Project, Restricted Project
c-rhodes added a comment to D128631: [AArch64] Initial sched model for Neoverse N2.

I think we can use this new schedule for all "Arm-v9" cores in AArch64.td (that are not in-order). It will almost certainly be a better fit than the older A57 model, and be good to get some decent SVE information.

Sounds good, my only concern is we're quite keen to get this into LLVM 15 which branches around the middle of July I believe and making this the default for all v9 cores presumably raises the bar in terms of validating it is better than the A57 for the v9 cores?

I think for Cortex-A710 we can change it, they are very similar microarchitectures. The performance checks I've ran seem just fine for them. I would change the Cortex-X2 and NeoverseV1 as well, although the core is a little different it would be a shame to leave them off. Neoverse512TVB I know less about, but as it doesn't relate to any specific core I would say a model with SVE scheduling is better than one without. We would presumably add all new cores with the new schedule as opposed to the A57 model, and I would prefer not to leave the other SVE cores behind in that regard.

Wed, Jul 6, 7:40 AM · Restricted Project, Restricted Project
c-rhodes requested review of D129203: [AArch64] Use Neoverse N2 sched model as default for:.
Wed, Jul 6, 7:38 AM · Restricted Project, Restricted Project
c-rhodes added inline comments to D128631: [AArch64] Initial sched model for Neoverse N2.
Wed, Jul 6, 7:16 AM · Restricted Project, Restricted Project
c-rhodes updated the diff for D128631: [AArch64] Initial sched model for Neoverse N2.

Update SVE test

Wed, Jul 6, 7:15 AM · Restricted Project, Restricted Project

Wed, Jun 29

c-rhodes updated subscribers of D128631: [AArch64] Initial sched model for Neoverse N2.

Could you add something modern to the basic instruction test, like, e.g., MEMTAG and BTI?

Wed, Jun 29, 1:47 AM · Restricted Project, Restricted Project
c-rhodes updated the diff for D128631: [AArch64] Initial sched model for Neoverse N2.

Add tests for MTE and missing info for STGM/IRGstack instructions.

Wed, Jun 29, 1:34 AM · Restricted Project, Restricted Project

Tue, Jun 28

c-rhodes added a comment to D128631: [AArch64] Initial sched model for Neoverse N2.
Tue, Jun 28, 3:43 AM · Restricted Project, Restricted Project
c-rhodes updated the diff for D128631: [AArch64] Initial sched model for Neoverse N2.

Add tests and missing info for EOR(BT|TB)_ZZZ_[BHSD], LDNT1D_ZZR_D_REAL, and STNT1D_ZZR_D instructions.

Tue, Jun 28, 3:39 AM · Restricted Project, Restricted Project

Mon, Jun 27

c-rhodes added a comment to D128631: [AArch64] Initial sched model for Neoverse N2.

Hello - I've been looking at scheduling a little lately again. I presume this was created by transcribing the values from the Software Optimization guide? It looks nice and clean from what I can see.

Mon, Jun 27, 5:19 AM · Restricted Project, Restricted Project
c-rhodes requested review of D128631: [AArch64] Initial sched model for Neoverse N2.
Mon, Jun 27, 3:14 AM · Restricted Project, Restricted Project

Fri, Jun 24

c-rhodes accepted D128505: [AArch64] Update SME load/store intrinsics to work on opaque pointers..

Still looks good, better even :)

Fri, Jun 24, 1:45 AM · Restricted Project, Restricted Project
c-rhodes accepted D128505: [AArch64] Update SME load/store intrinsics to work on opaque pointers..

LGTM

Fri, Jun 24, 1:38 AM · Restricted Project, Restricted Project
c-rhodes added inline comments to D128505: [AArch64] Update SME load/store intrinsics to work on opaque pointers..
Fri, Jun 24, 1:27 AM · Restricted Project, Restricted Project
c-rhodes committed rG2b3de2971790: [AArch64] NFC: Fix PRFS -> PRFW inst def name (authored by c-rhodes).
[AArch64] NFC: Fix PRFS -> PRFW inst def name
Fri, Jun 24, 1:18 AM · Restricted Project, Restricted Project

Tue, Jun 21

c-rhodes added inline comments to D127957: [AArch64][SME] Add some SME PSTATE setting/query intrinsics.
Tue, Jun 21, 2:19 AM · Restricted Project, Restricted Project

Fri, Jun 17

c-rhodes committed rG5ffbac340d6d: [AArch64] NFC: Fix BFMLAL[BT] inst def names (authored by c-rhodes).
[AArch64] NFC: Fix BFMLAL[BT] inst def names
Fri, Jun 17, 1:55 AM · Restricted Project, Restricted Project
c-rhodes added inline comments to D128029: [AArch64] Add target feature "all".
Fri, Jun 17, 1:06 AM · Restricted Project, Restricted Project

Wed, Jun 15

c-rhodes accepted D127414: [AArch64][SME] Add SME read/write intrinsics that map to the mova instruction.

LGTM

Wed, Jun 15, 1:42 AM · Restricted Project, Restricted Project

Tue, Jun 14

c-rhodes added inline comments to D127414: [AArch64][SME] Add SME read/write intrinsics that map to the mova instruction.
Tue, Jun 14, 3:20 AM · Restricted Project, Restricted Project

Fri, Jun 10

c-rhodes added inline comments to D127317: [AArch64][SME] Add ldr/str (fill/spill) intrinsics.
Fri, Jun 10, 1:35 AM · Restricted Project, Restricted Project

Thu, Jun 9

c-rhodes accepted D126380: [clang][AArch64][SVE] Implicit conversions for vector-scalar operations.
Thu, Jun 9, 8:09 AM · Restricted Project, Restricted Project

Wed, Jun 8

c-rhodes updated subscribers of D127210: [AArch64][SME] Add load/store intrinsics.
Wed, Jun 8, 2:25 AM · Restricted Project, Restricted Project
c-rhodes added a comment to D127210: [AArch64][SME] Add load/store intrinsics.

I'm not going to comment on the design / implementation since I wrote much of it, but I've left a few minor comments

Wed, Jun 8, 2:24 AM · Restricted Project, Restricted Project

Tue, Jun 7

c-rhodes added a comment to D126380: [clang][AArch64][SVE] Implicit conversions for vector-scalar operations.

@DavidTruby thanks for updating, just one last comment otherwise LGTM

Tue, Jun 7, 7:25 AM · Restricted Project, Restricted Project

Jun 6 2022

c-rhodes accepted D126377: [clang][AArch64][SVE] Improve diagnostics for SVE operators.

LGTM

Jun 6 2022, 5:06 AM · Restricted Project, Restricted Project

May 26 2022

c-rhodes added inline comments to D126377: [clang][AArch64][SVE] Improve diagnostics for SVE operators.
May 26 2022, 6:58 AM · Restricted Project, Restricted Project
c-rhodes added inline comments to D126380: [clang][AArch64][SVE] Implicit conversions for vector-scalar operations.
May 26 2022, 2:01 AM · Restricted Project, Restricted Project
c-rhodes added inline comments to D126377: [clang][AArch64][SVE] Improve diagnostics for SVE operators.
May 26 2022, 12:53 AM · Restricted Project, Restricted Project

May 24 2022

c-rhodes added a comment to D124860: [clang][AArch64][SVE] Implicit conversions for vector-scalar operations.

can the diagnostics improvements be broke out into separate patches? I think it would make this easier to review

May 24 2022, 3:51 AM · Restricted Project, Restricted Project

May 17 2022

c-rhodes committed rG6ad6b00f6a47: [mlir] vim: add bf16 type (authored by c-rhodes).
[mlir] vim: add bf16 type
May 17 2022, 6:29 AM · Restricted Project, Restricted Project
c-rhodes committed rG9bb0f4616a75: [mlir][licm] Fix debug output with newlines (authored by c-rhodes).
[mlir][licm] Fix debug output with newlines
May 17 2022, 6:29 AM · Restricted Project, Restricted Project

May 13 2022

c-rhodes accepted D125534: [AArch64][SME][NFC] Add implicit operands for SME instructions in the disassembly..

LGTM

May 13 2022, 5:36 AM · Restricted Project, Restricted Project

Apr 19 2022

c-rhodes added inline comments to D105576: [AArch64][SME] Add system registers and related instructions.
Apr 19 2022, 2:51 AM · Restricted Project, Restricted Project

Mar 3 2022

c-rhodes committed rGe4fa8291a277: [AArch64] Allow copying of SVE registers in Streaming SVE (authored by c-rhodes).
[AArch64] Allow copying of SVE registers in Streaming SVE
Mar 3 2022, 1:52 AM · Restricted Project
c-rhodes committed rG616586794bec: [AArch64] Add legal types for Streaming SVE (authored by c-rhodes).
[AArch64] Add legal types for Streaming SVE
Mar 3 2022, 1:52 AM · Restricted Project
c-rhodes closed D118562: [AArch64] Allow copying of SVE registers in Streaming SVE.
Mar 3 2022, 1:51 AM · Restricted Project, Restricted Project
c-rhodes closed D118561: [AArch64] Add legal types for Streaming SVE.
Mar 3 2022, 1:51 AM · Restricted Project, Restricted Project

Feb 25 2022

c-rhodes accepted D120543: [NFC][AArch64][SME] Remove '#' prefix in PSEL test cases.

thanks for the patch!

Feb 25 2022, 12:58 AM · Restricted Project

Feb 22 2022

c-rhodes added inline comments to D120257: [AArch64][SME] Replace +streaming-sve feature with +streaming-compatible-<feature>..
Feb 22 2022, 12:29 PM · Restricted Project
c-rhodes accepted D120259: [AArch64][AsmParser] Arch directives should set implied features..
Feb 22 2022, 12:19 PM · Restricted Project
c-rhodes added a comment to D118248: [mlir][Vector] Enable create_mask for scalable vectors.

LGTM, but I'm pretty new around these parts so I'll leave it to another reviewer to accept

Feb 22 2022, 1:23 AM · Restricted Project, Restricted Project

Feb 21 2022

c-rhodes added inline comments to D120259: [AArch64][AsmParser] Arch directives should set implied features..
Feb 21 2022, 1:15 PM · Restricted Project
c-rhodes added inline comments to D118248: [mlir][Vector] Enable create_mask for scalable vectors.
Feb 21 2022, 5:43 AM · Restricted Project, Restricted Project
c-rhodes abandoned D120057: [mlir][Affine] Fix -lower-affine -debug assertion.

We are trying to fix this in a general way by running verification before printing and switching to generic op printing on failure, here: https://reviews.llvm.org/D117834

Feb 21 2022, 4:01 AM · Restricted Project

Feb 17 2022

c-rhodes requested review of D120057: [mlir][Affine] Fix -lower-affine -debug assertion.
Feb 17 2022, 7:07 AM · Restricted Project

Feb 10 2022

c-rhodes added a comment to D118248: [mlir][Vector] Enable create_mask for scalable vectors.

Does this need a round-trip test in mlir/test/Dialect/Vector/ops.mlir?

Feb 10 2022, 1:16 AM · Restricted Project, Restricted Project

Feb 9 2022

c-rhodes added inline comments to D118248: [mlir][Vector] Enable create_mask for scalable vectors.
Feb 9 2022, 7:30 AM · Restricted Project, Restricted Project

Feb 8 2022

c-rhodes committed rG99d95025e125: [mlir][Affine][Vector] NFC: fix examples in comments (authored by c-rhodes).
[mlir][Affine][Vector] NFC: fix examples in comments
Feb 8 2022, 2:04 AM
c-rhodes closed D118892: [mlir][Affine][Vector] NFC: fix examples in comments.
Feb 8 2022, 2:04 AM · Restricted Project

Feb 3 2022

c-rhodes requested review of D118892: [mlir][Affine][Vector] NFC: fix examples in comments.
Feb 3 2022, 4:53 AM · Restricted Project

Feb 2 2022

c-rhodes updated the diff for D118562: [AArch64] Allow copying of SVE registers in Streaming SVE.
  • Run clang-format.
  • Add asserts for multi-vector register classes.
Feb 2 2022, 1:23 AM · Restricted Project, Restricted Project
c-rhodes committed rG16d464a29153: [AArch64][SVE] NFC: tidy up isel lowering (authored by c-rhodes).
[AArch64][SVE] NFC: tidy up isel lowering
Feb 2 2022, 1:03 AM
c-rhodes closed D118560: [AArch64][SVE] NFC: tidy up isel lowering.
Feb 2 2022, 1:03 AM · Restricted Project
c-rhodes added inline comments to D118560: [AArch64][SVE] NFC: tidy up isel lowering.
Feb 2 2022, 12:27 AM · Restricted Project

Feb 1 2022

c-rhodes added a comment to D118561: [AArch64] Add legal types for Streaming SVE.

But it looks a reasonable patch. I believe having this approved means fixing the tests in :
https://reviews.llvm.org/D118562

Feb 1 2022, 1:45 AM · Restricted Project, Restricted Project
c-rhodes added a comment to D118562: [AArch64] Allow copying of SVE registers in Streaming SVE.

Just to check, this change depends on https://reviews.llvm.org/D118561. Correct?
That is the reason your tests are failing for now.
LLVM ERROR: Don't know how to legalize this scalable vector type

Feb 1 2022, 1:44 AM · Restricted Project, Restricted Project
c-rhodes added a comment to D118560: [AArch64][SVE] NFC: tidy up isel lowering.

Hi @c-rhodes, could you add a description of why this refactoring is needed please? It's just not really obvious to me at least why we're shuffling code around.

Feb 1 2022, 1:38 AM · Restricted Project

Jan 30 2022

c-rhodes requested review of D118562: [AArch64] Allow copying of SVE registers in Streaming SVE.
Jan 30 2022, 4:43 AM · Restricted Project, Restricted Project
c-rhodes requested review of D118561: [AArch64] Add legal types for Streaming SVE.
Jan 30 2022, 4:40 AM · Restricted Project, Restricted Project
c-rhodes requested review of D118560: [AArch64][SVE] NFC: tidy up isel lowering.
Jan 30 2022, 4:37 AM · Restricted Project

Jan 28 2022

c-rhodes committed rG5d089d9a832c: [DAGCombiner] Fix invalid size request in combineRepeatedFPDivisors (authored by c-rhodes).
[DAGCombiner] Fix invalid size request in combineRepeatedFPDivisors
Jan 28 2022, 9:01 AM
c-rhodes closed D118343: [DAGCombiner] Fix invalid size request in combineRepeatedFPDivisors.
Jan 28 2022, 9:01 AM · Restricted Project

Jan 27 2022

c-rhodes requested review of D118356: [DAGCombiner] Limit scaling of repeated FP divisor by splat factor.
Jan 27 2022, 5:46 AM · Restricted Project
c-rhodes updated the diff for D118343: [DAGCombiner] Fix invalid size request in combineRepeatedFPDivisors.

Added some more splat tests (including NEON). Will post a follow-up patch to prevent scaling of num uses by splat factor unless division can be converted into scalar op.

Jan 27 2022, 5:45 AM · Restricted Project
c-rhodes updated the diff for D118343: [DAGCombiner] Fix invalid size request in combineRepeatedFPDivisors.

Combine test with existing llvm/test/CodeGen/AArch64/fdiv-combine.ll

Jan 27 2022, 4:30 AM · Restricted Project
c-rhodes requested review of D118343: [DAGCombiner] Fix invalid size request in combineRepeatedFPDivisors.
Jan 27 2022, 3:15 AM · Restricted Project

Jan 12 2022

c-rhodes accepted D117099: [AArch64] Fix incorrect use of MVT::getVectorNumElements in AArch64TTIImpl::getVectorInstrCost.

LGTM. I think you meant compile-time not runtime in the commit message?

Jan 12 2022, 3:06 AM · Restricted Project

Jan 10 2022

c-rhodes committed rGeee993ae4cc7: [AArch64][SVE] Fold predicate into compare (authored by c-rhodes).
[AArch64][SVE] Fold predicate into compare
Jan 10 2022, 2:53 AM
c-rhodes closed D116749: [AArch64][SVE] Fold predicate into compare.
Jan 10 2022, 2:53 AM · Restricted Project

Jan 7 2022

c-rhodes updated the diff for D116749: [AArch64][SVE] Fold predicate into compare.

Add further test for RHS

Jan 7 2022, 5:33 AM · Restricted Project
c-rhodes added inline comments to D116749: [AArch64][SVE] Fold predicate into compare.
Jan 7 2022, 4:20 AM · Restricted Project
c-rhodes updated the diff for D116749: [AArch64][SVE] Fold predicate into compare.

Add test Dave suggested

Jan 7 2022, 4:19 AM · Restricted Project

Jan 6 2022

c-rhodes requested review of D116749: [AArch64][SVE] Fold predicate into compare.
Jan 6 2022, 8:12 AM · Restricted Project

Dec 7 2021

c-rhodes committed rG0395e0158300: [IR] Split vscale_range interface (authored by c-rhodes).
[IR] Split vscale_range interface
Dec 7 2021, 2:43 AM
c-rhodes closed D114075: [IR] Split vscale_range interface.
Dec 7 2021, 2:43 AM · Restricted Project
c-rhodes committed rG698584f89b8f: [IR] Remove unbounded as possible value for vscale_range minimum (authored by c-rhodes).
[IR] Remove unbounded as possible value for vscale_range minimum
Dec 7 2021, 1:53 AM
c-rhodes closed D113294: [IR] Remove unbounded as possible value for vscale_range minimum.
Dec 7 2021, 1:52 AM · Restricted Project, Restricted Project

Dec 6 2021

c-rhodes added inline comments to D113294: [IR] Remove unbounded as possible value for vscale_range minimum.
Dec 6 2021, 8:04 AM · Restricted Project, Restricted Project
c-rhodes updated the diff for D113294: [IR] Remove unbounded as possible value for vscale_range minimum.

Revert LangOpt.VScaleMin default to 0.

Dec 6 2021, 2:46 AM · Restricted Project, Restricted Project
c-rhodes added inline comments to D113294: [IR] Remove unbounded as possible value for vscale_range minimum.
Dec 6 2021, 1:49 AM · Restricted Project, Restricted Project

Dec 3 2021

c-rhodes added a comment to D113294: [IR] Remove unbounded as possible value for vscale_range minimum.

I agree, it's the change to VScaleMin that has caused the issue. If the LangOpts default can remain as 0 and you can still achieve what you're after then that would be perfect.

Dec 3 2021, 10:39 AM · Restricted Project, Restricted Project
c-rhodes updated the diff for D113294: [IR] Remove unbounded as possible value for vscale_range minimum.

Revert to previous behaviour where both the min/max Clang flags override SVE.

Dec 3 2021, 10:37 AM · Restricted Project, Restricted Project
c-rhodes added inline comments to D113294: [IR] Remove unbounded as possible value for vscale_range minimum.
Dec 3 2021, 9:43 AM · Restricted Project, Restricted Project
c-rhodes added inline comments to D114075: [IR] Split vscale_range interface.
Dec 3 2021, 9:36 AM · Restricted Project
c-rhodes updated the diff for D114075: [IR] Split vscale_range interface.

Address comments

Dec 3 2021, 9:34 AM · Restricted Project
c-rhodes updated the diff for D114075: [IR] Split vscale_range interface.

Update interface comment

Dec 3 2021, 5:41 AM · Restricted Project
c-rhodes added inline comments to D114075: [IR] Split vscale_range interface.
Dec 3 2021, 5:24 AM · Restricted Project
c-rhodes updated the diff for D114075: [IR] Split vscale_range interface.

Address comments

Dec 3 2021, 5:24 AM · Restricted Project
c-rhodes added inline comments to D114075: [IR] Split vscale_range interface.
Dec 3 2021, 4:34 AM · Restricted Project
c-rhodes updated the diff for D114075: [IR] Split vscale_range interface.

return None for unbounded in getVScaleRangeMax

Dec 3 2021, 4:33 AM · Restricted Project

Nov 17 2021

c-rhodes requested review of D114075: [IR] Split vscale_range interface.
Nov 17 2021, 3:42 AM · Restricted Project

Nov 9 2021

c-rhodes added a comment to D113294: [IR] Remove unbounded as possible value for vscale_range minimum.

It would be nice if the LLVM interfaces could be updated as well (could also be done in a follow-up patch)

Nov 9 2021, 1:30 AM · Restricted Project, Restricted Project
c-rhodes updated the diff for D113294: [IR] Remove unbounded as possible value for vscale_range minimum.

Address comments

Nov 9 2021, 1:28 AM · Restricted Project, Restricted Project

Nov 5 2021

c-rhodes requested review of D113294: [IR] Remove unbounded as possible value for vscale_range minimum.
Nov 5 2021, 9:53 AM · Restricted Project, Restricted Project

Nov 3 2021

c-rhodes committed rGd968b173d33b: [TableGen] Emit a warning for unused template args (authored by c-rhodes).
[TableGen] Emit a warning for unused template args
Nov 3 2021, 5:10 AM