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 (202 w, 5 d)

Recent Activity

Wed, Apr 1

c-rhodes committed rG84aa6cf1a9fe: [Transforms][SROA] Promote allocas with mem2reg for scalable types (authored by c-rhodes).
[Transforms][SROA] Promote allocas with mem2reg for scalable types
Wed, Apr 1, 3:52 AM
c-rhodes closed D76720: [Transforms][SROA] Promote allocas with mem2reg for scalable types.
Wed, Apr 1, 3:51 AM · Restricted Project

Sun, Mar 29

c-rhodes added a comment to D76720: [Transforms][SROA] Promote allocas with mem2reg for scalable types.

I'd like to see better test coverage here. At least, a case that can't be promoted, and a case where a scalable alloca lands on the worklist despite the check in SROA::runImpl.

Sun, Mar 29, 6:54 AM · Restricted Project
c-rhodes updated the diff for D76720: [Transforms][SROA] Promote allocas with mem2reg for scalable types.
  • Add test for unpromotable scalable alloca.
  • Rename %pg -> %vec in <vscale x 16 x i8> test.
Sun, Mar 29, 6:23 AM · Restricted Project

Fri, Mar 27

c-rhodes updated the diff for D76720: [Transforms][SROA] Promote allocas with mem2reg for scalable types.

Fix bug in branch where allocas with scalable types that aren’t promotable could still be added to worklist and subsequently passed to runOnAlloca where asserts would be triggered as this is now fixed-width. Thanks for spotting @efriedma.

Fri, Mar 27, 1:43 PM · Restricted Project
c-rhodes added inline comments to D76720: [Transforms][SROA] Promote allocas with mem2reg for scalable types.
Fri, Mar 27, 1:43 PM · Restricted Project
c-rhodes added a comment to D76720: [Transforms][SROA] Promote allocas with mem2reg for scalable types.

Thanks for the comments @ctetreau! I've updated the patch.

Fri, Mar 27, 10:55 AM · Restricted Project
c-rhodes updated the diff for D76720: [Transforms][SROA] Promote allocas with mem2reg for scalable types.
  • Removed isScalableVectorTy and replaced uses in SROA with isa<VectorType> and cast<VectorType>(VecTy)->isScalable().
Fri, Mar 27, 10:55 AM · Restricted Project
c-rhodes added inline comments to D76720: [Transforms][SROA] Promote allocas with mem2reg for scalable types.
Fri, Mar 27, 7:37 AM · Restricted Project
c-rhodes updated the diff for D76720: [Transforms][SROA] Promote allocas with mem2reg for scalable types.
  • Run mem2reg for scalable types from SROA.
  • Fix warning warning: inline function 'llvm::Type::getVectorIsScalable' is not defined reported by Harbor by moving implementation to Type.cpp.
Fri, Mar 27, 4:50 AM · Restricted Project

Thu, Mar 26

c-rhodes added a comment to D75947: [AArch64][SVE] Implement structured store intrinsics.

I updated the tests to remove the dependency on sve.tuple.get intrinsic whilst we investigate an issue there, the individual tuple vectors are now passed as arguments to the functions. Thanks for review @efriedma!

Thu, Mar 26, 3:12 AM · Restricted Project
c-rhodes committed rG9086db707d96: [AArch64][SVE] Implement structured store intrinsics (authored by c-rhodes).
[AArch64][SVE] Implement structured store intrinsics
Thu, Mar 26, 2:41 AM
c-rhodes closed D75947: [AArch64][SVE] Implement structured store intrinsics.
Thu, Mar 26, 2:40 AM · Restricted Project
c-rhodes removed a parent revision for D75947: [AArch64][SVE] Implement structured store intrinsics: D75674: [AArch64][SVE] Implement vector tuple intrinsics.
Thu, Mar 26, 2:40 AM · Restricted Project
c-rhodes removed a child revision for D75674: [AArch64][SVE] Implement vector tuple intrinsics: D75947: [AArch64][SVE] Implement structured store intrinsics.
Thu, Mar 26, 2:40 AM · Restricted Project

Wed, Mar 25

c-rhodes added a comment to D76720: [Transforms][SROA] Promote allocas with mem2reg for scalable types.

We want SROA to at least run mem2reg on scalable vectors, since we don't run mem2reg separately. This is important for C code using SVE intrinsics.

Wed, Mar 25, 5:22 AM · Restricted Project
c-rhodes added a comment to D76720: [Transforms][SROA] Promote allocas with mem2reg for scalable types.

We want SROA to at least run mem2reg on scalable vectors, since we don't run mem2reg separately. This is important for C code using SVE intrinsics.

Wed, Mar 25, 3:13 AM · Restricted Project

Tue, Mar 24

c-rhodes created D76720: [Transforms][SROA] Promote allocas with mem2reg for scalable types.
Tue, Mar 24, 11:49 AM · Restricted Project

Thu, Mar 19

c-rhodes committed rG5ce38fcbac92: [ValueTypes] Add support for scalable EVTs (authored by c-rhodes).
[ValueTypes] Add support for scalable EVTs
Thu, Mar 19, 4:17 AM
c-rhodes closed D75672: [ValueTypes] Add support for scalable EVTs.
Thu, Mar 19, 4:17 AM · Restricted Project
c-rhodes committed rG5c296df0c0a4: [ValueTypes] Add EVT::isFixedLengthVector (authored by c-rhodes).
[ValueTypes] Add EVT::isFixedLengthVector
Thu, Mar 19, 3:45 AM
c-rhodes closed D76376: [ValueTypes] Add EVT::isFixedLengthVector.
Thu, Mar 19, 3:45 AM · Restricted Project
c-rhodes added inline comments to D75751: [AArch64][SVE] Implement structured load intrinsics.
Thu, Mar 19, 3:11 AM · Restricted Project
c-rhodes added a comment to D75672: [ValueTypes] Add support for scalable EVTs.

Thanks for reviewing Eli!

Thu, Mar 19, 2:39 AM · Restricted Project

Wed, Mar 18

c-rhodes added inline comments to D75672: [ValueTypes] Add support for scalable EVTs.
Wed, Mar 18, 12:29 PM · Restricted Project
c-rhodes created D76376: [ValueTypes] Add EVT::isFixedLengthVector.
Wed, Mar 18, 11:57 AM · Restricted Project
c-rhodes added a comment to D75751: [AArch64][SVE] Implement structured load intrinsics.

Thanks for the comments @fpetrogalli! I'll update this patch to address your comments.

Wed, Mar 18, 9:47 AM · Restricted Project

Tue, Mar 17

c-rhodes added inline comments to D75672: [ValueTypes] Add support for scalable EVTs.
Tue, Mar 17, 5:43 AM · Restricted Project

Thu, Mar 12

c-rhodes added a child revision for D75674: [AArch64][SVE] Implement vector tuple intrinsics: D75751: [AArch64][SVE] Implement structured load intrinsics.
Thu, Mar 12, 5:13 AM · Restricted Project
c-rhodes added a parent revision for D75751: [AArch64][SVE] Implement structured load intrinsics: D75674: [AArch64][SVE] Implement vector tuple intrinsics.
Thu, Mar 12, 5:13 AM · Restricted Project
c-rhodes added inline comments to D75672: [ValueTypes] Add support for scalable EVTs.
Thu, Mar 12, 5:13 AM · Restricted Project
c-rhodes added a child revision for D75674: [AArch64][SVE] Implement vector tuple intrinsics: D75947: [AArch64][SVE] Implement structured store intrinsics.
Thu, Mar 12, 5:13 AM · Restricted Project
c-rhodes added a parent revision for D75947: [AArch64][SVE] Implement structured store intrinsics: D75674: [AArch64][SVE] Implement vector tuple intrinsics.
Thu, Mar 12, 5:13 AM · Restricted Project
c-rhodes added inline comments to D75988: [AArch64][SVE] Add support for spilling/filling ZPR2/3/4.
Thu, Mar 12, 3:46 AM · Restricted Project

Wed, Mar 11

c-rhodes created D75988: [AArch64][SVE] Add support for spilling/filling ZPR2/3/4.
Wed, Mar 11, 6:51 AM · Restricted Project

Tue, Mar 10

c-rhodes created D75947: [AArch64][SVE] Implement structured store intrinsics.
Tue, Mar 10, 10:52 AM · Restricted Project

Mar 6 2020

c-rhodes created D75751: [AArch64][SVE] Implement structured load intrinsics.
Mar 6 2020, 8:13 AM · Restricted Project
c-rhodes added a comment to D75672: [ValueTypes] Add support for scalable EVTs.

Please post patches with full context (-U10000)

Mar 6 2020, 3:18 AM · Restricted Project
c-rhodes updated the diff for D75672: [ValueTypes] Add support for scalable EVTs.

Remove check for isScalableVector in getVectorNumElements.

Mar 6 2020, 2:46 AM · Restricted Project
c-rhodes updated the diff for D75674: [AArch64][SVE] Implement vector tuple intrinsics.

Added full context.

Mar 6 2020, 2:12 AM · Restricted Project
c-rhodes updated the diff for D75672: [ValueTypes] Add support for scalable EVTs.

Added context.

Mar 6 2020, 1:39 AM · Restricted Project

Mar 5 2020

c-rhodes updated the diff for D75674: [AArch64][SVE] Implement vector tuple intrinsics.

Fix warnings reported by Harbor.

Mar 5 2020, 5:29 AM · Restricted Project
c-rhodes updated the diff for D75672: [ValueTypes] Add support for scalable EVTs.

Fix warnings reported by Harbor.

Mar 5 2020, 5:29 AM · Restricted Project
c-rhodes added a parent revision for D75674: [AArch64][SVE] Implement vector tuple intrinsics: D75672: [ValueTypes] Add support for scalable EVTs.
Mar 5 2020, 4:24 AM · Restricted Project
c-rhodes added a child revision for D75672: [ValueTypes] Add support for scalable EVTs: D75674: [AArch64][SVE] Implement vector tuple intrinsics.
Mar 5 2020, 4:24 AM · Restricted Project
c-rhodes created D75674: [AArch64][SVE] Implement vector tuple intrinsics.
Mar 5 2020, 4:24 AM · Restricted Project
c-rhodes created D75672: [ValueTypes] Add support for scalable EVTs.
Mar 5 2020, 4:24 AM · Restricted Project

Feb 27 2020

c-rhodes added a comment to D75197: [AArch64][SVE] Add intrinsics for bitwise permute instructions.

Thanks for the patch @dancgr but these intrinsics have already been implemented in D74912. @sdesmalen shared a spreadsheet [1] with the mailing list to coordinate the intrinsics upstreaming, it's probably not as useful now given they're almost all implemented but you might find it useful if you haven't seen it already.

Feb 27 2020, 1:48 AM · Restricted Project

Feb 25 2020

c-rhodes committed rG72848f26b434: [AArch64][SVE] Add predicate reinterpret intrinsics (authored by c-rhodes).
[AArch64][SVE] Add predicate reinterpret intrinsics
Feb 25 2020, 2:25 AM
c-rhodes closed D74471: [AArch64][SVE] Add predicate reinterpret intrinsics.
Feb 25 2020, 2:24 AM · Restricted Project

Feb 24 2020

c-rhodes added inline comments to D74471: [AArch64][SVE] Add predicate reinterpret intrinsics.
Feb 24 2020, 2:33 AM · Restricted Project
c-rhodes updated the diff for D74471: [AArch64][SVE] Add predicate reinterpret intrinsics.

Remove change to lower SPLAT_VECTOR of i1s to pfalse and update test.

Feb 24 2020, 2:30 AM · Restricted Project

Feb 21 2020

c-rhodes added inline comments to D74471: [AArch64][SVE] Add predicate reinterpret intrinsics.
Feb 21 2020, 5:47 AM · Restricted Project
c-rhodes updated the diff for D74471: [AArch64][SVE] Add predicate reinterpret intrinsics.
  • Fix zeroing.
  • Update tests.
Feb 21 2020, 5:47 AM · Restricted Project

Feb 19 2020

c-rhodes updated the diff for D74471: [AArch64][SVE] Add predicate reinterpret intrinsics.
  • Explicitly zero lanes when converting to svbool_t.
Feb 19 2020, 7:18 AM · Restricted Project

Feb 12 2020

c-rhodes created D74471: [AArch64][SVE] Add predicate reinterpret intrinsics.
Feb 12 2020, 1:57 AM · Restricted Project

Feb 7 2020

c-rhodes accepted D74117: [AArch64][SVE] SVE2 intrinsics for character match & histogram generation.

LGTM

Feb 7 2020, 1:47 AM · Restricted Project

Jan 28 2020

c-rhodes accepted D73347: [AArch64][SVE] Add SVE2 intrinsics for pairwise arithmetic.
Jan 28 2020, 2:14 AM · Restricted Project

Jan 17 2020

c-rhodes committed rG49edf9a509cd: [AArch64][SVE] Add break intrinsics (authored by c-rhodes).
[AArch64][SVE] Add break intrinsics
Jan 17 2020, 3:48 AM
c-rhodes closed D72393: [AArch64][SVE] Add break intrinsics.
Jan 17 2020, 3:48 AM · Restricted Project

Jan 15 2020

c-rhodes committed rG93a4dede3a5e: [AArch64][SVE] Add ptest intrinsics (authored by c-rhodes).
[AArch64][SVE] Add ptest intrinsics
Jan 15 2020, 3:15 AM
c-rhodes closed D72398: [AArch64][SVE] Add ptest intrinsics.
Jan 15 2020, 3:15 AM · Restricted Project

Jan 14 2020

c-rhodes updated the diff for D72398: [AArch64][SVE] Add ptest intrinsics.

Included a test we have downstream of a ptest feeding a compare/branch to address Eli's comment.

Jan 14 2020, 5:44 AM · Restricted Project
c-rhodes added a comment to D72654: [SVE] Add patterns for MUL immediate instruction..

@dancgr Thanks for the patch! LGTM other than a minor nit (and Eli's comment).

Jan 14 2020, 2:46 AM · Restricted Project

Jan 8 2020

c-rhodes created D72398: [AArch64][SVE] Add ptest intrinsics.
Jan 8 2020, 6:44 AM · Restricted Project
c-rhodes created D72393: [AArch64][SVE] Add break intrinsics.
Jan 8 2020, 3:51 AM · Restricted Project

Dec 30 2019

c-rhodes added inline comments to D71779: [AArch64][SVE] Add patterns for signed and unsigned min/max instructions.
Dec 30 2019, 2:16 AM · Restricted Project

Dec 20 2019

c-rhodes committed rG974f00a43693: [AArch64][SVE] Fold constant multiply of element count (authored by c-rhodes).
[AArch64][SVE] Fold constant multiply of element count
Dec 20 2019, 4:03 AM
c-rhodes closed D71014: [AArc64][SVE] Fold constant multiply of element count.
Dec 20 2019, 4:02 AM · Restricted Project
c-rhodes committed rG3f9005eb89f7: Recommit "[AArch64][SVE] Add permutation and selection intrinsics" (authored by c-rhodes).
Recommit "[AArch64][SVE] Add permutation and selection intrinsics"
Dec 20 2019, 3:04 AM

Dec 19 2019

c-rhodes committed rGdcb48f50bdfa: Revert "[AArch64][SVE] Add permutation and selection intrinsics" (authored by c-rhodes).
Revert "[AArch64][SVE] Add permutation and selection intrinsics"
Dec 19 2019, 6:35 AM
c-rhodes added a reverting change for rG23c28c404361: [AArch64][SVE] Add permutation and selection intrinsics: rGdcb48f50bdfa: Revert "[AArch64][SVE] Add permutation and selection intrinsics".
Dec 19 2019, 6:35 AM
c-rhodes committed rG23c28c404361: [AArch64][SVE] Add permutation and selection intrinsics (authored by c-rhodes).
[AArch64][SVE] Add permutation and selection intrinsics
Dec 19 2019, 5:20 AM
c-rhodes closed D71401: [AArch64][SVE] Add permutation and selection intrinsics.
Dec 19 2019, 5:19 AM · Restricted Project
c-rhodes committed rGeca0c97a6bca: [AArch64][SVE] Implement pfirst and pnext intrinsics (authored by c-rhodes).
[AArch64][SVE] Implement pfirst and pnext intrinsics
Dec 19 2019, 3:18 AM
c-rhodes closed D71472: [AArch64][SVE] Implement pfirst and pnext intrinsics.
Dec 19 2019, 3:18 AM · Restricted Project
c-rhodes committed rG49199465a3b2: [AArch64][SVE] Implement ptrue intrinsic (authored by c-rhodes).
[AArch64][SVE] Implement ptrue intrinsic
Dec 19 2019, 3:05 AM
c-rhodes closed D71457: [AArch64][SVE] Implement ptrue intrinsic.
Dec 19 2019, 3:05 AM · Restricted Project

Dec 13 2019

c-rhodes created D71472: [AArch64][SVE] Implement pfirst and pnext intrinsics.
Dec 13 2019, 8:42 AM · Restricted Project
c-rhodes updated the diff for D71457: [AArch64][SVE] Implement ptrue intrinsic.

Use ImmArg in intrinsic definition.

Dec 13 2019, 6:25 AM · Restricted Project
c-rhodes updated the diff for D71401: [AArch64][SVE] Add permutation and selection intrinsics.

Add assert in custom lowering of INTRINSIC_WO_CHAIN for types that aren’t MVT::i8 or MVT::i16.

Dec 13 2019, 5:30 AM · Restricted Project
c-rhodes added inline comments to D71401: [AArch64][SVE] Add permutation and selection intrinsics.
Dec 13 2019, 5:30 AM · Restricted Project
c-rhodes created D71457: [AArch64][SVE] Implement ptrue intrinsic.
Dec 13 2019, 3:03 AM · Restricted Project

Dec 12 2019

c-rhodes added inline comments to D71014: [AArc64][SVE] Fold constant multiply of element count.
Dec 12 2019, 6:44 AM · Restricted Project
c-rhodes updated the diff for D71014: [AArc64][SVE] Fold constant multiply of element count.
  • Refactored SelectRDVLImm and SelectShiftImm into same function by adding a extra template argument for Shift.
  • Added default to switch in IsSVECntIntrinsic
Dec 12 2019, 6:42 AM · Restricted Project
c-rhodes added inline comments to D71370: [AArch64][SVE] Add integer arithmetic with immediate instructions..
Dec 12 2019, 5:10 AM · Restricted Project
c-rhodes committed rGbbd16b687641: [AArch64][SVE] Remove nxv1f32 and nxv1f64 as legal types (authored by c-rhodes).
[AArch64][SVE] Remove nxv1f32 and nxv1f64 as legal types
Dec 12 2019, 1:50 AM
c-rhodes closed D71351: [AArch64][SVE] Remove nxv1f32 and nxv1f64 as legal types.
Dec 12 2019, 1:50 AM · Restricted Project
c-rhodes created D71401: [AArch64][SVE] Add permutation and selection intrinsics.
Dec 12 2019, 1:39 AM · Restricted Project

Dec 11 2019

c-rhodes created D71351: [AArch64][SVE] Remove nxv1f32 and nxv1f64 as legal types.
Dec 11 2019, 6:12 AM · Restricted Project
c-rhodes added a comment to D71298: [AArch64][SVE] Add patterns for scalable vselect.

On a sort of related note, AArch64ISelLowering.cpp says that MVT::nxv1f32 and MVT::nxv1f64 are also legal? Do we plan to implement isel patterns for them?

Dec 11 2019, 5:40 AM · Restricted Project

Dec 10 2019

c-rhodes committed rG1b9a608c8440: [AArch64][SVE] Add wide compare immediate patterns (authored by c-rhodes).
[AArch64][SVE] Add wide compare immediate patterns
Dec 10 2019, 3:00 AM
c-rhodes closed D71009: [AArch64][SVE] Add wide compare immediate patterns.
Dec 10 2019, 2:59 AM · Restricted Project

Dec 9 2019

c-rhodes updated the diff for D71009: [AArch64][SVE] Add wide compare immediate patterns.

Refactor switch.

Dec 9 2019, 3:46 AM · Restricted Project

Dec 6 2019

c-rhodes committed rG2c63e8e36df0: [AArch64] Fix a bug with jump table generation (authored by c-rhodes).
[AArch64] Fix a bug with jump table generation
Dec 6 2019, 6:39 AM
c-rhodes closed D70533: [AArch64] Fix a bug with jump table generation.
Dec 6 2019, 6:38 AM · Restricted Project
c-rhodes committed rGb31a531f9bbf: [AArch64][SVE2] Implement while comparison intrinsics (authored by c-rhodes).
[AArch64][SVE2] Implement while comparison intrinsics
Dec 6 2019, 3:44 AM
c-rhodes closed D70909: [AArch64][SVE2] Implement while comparison intrinsics.
Dec 6 2019, 3:43 AM · Restricted Project
c-rhodes committed rGbb8c679f4bf2: [AArch64][SVE] Implement integer compare intrinsics (authored by c-rhodes).
[AArch64][SVE] Implement integer compare intrinsics
Dec 6 2019, 3:16 AM
c-rhodes closed D70889: [AArch64][SVE] Implement integer compare intrinsics.
Dec 6 2019, 3:16 AM · Restricted Project