Page MenuHomePhabricator

david-arm (David Sherwood)
User

Projects

User does not belong to any projects.

User Details

User Since
Nov 20 2019, 6:41 AM (60 w, 4 d)

Recent Activity

Today

david-arm added inline comments to D94883: [CodeGen][SelectionDAG]Add new intrinsic experimental.vector.reverse.
Mon, Jan 18, 1:23 AM · Restricted Project
david-arm added inline comments to D94883: [CodeGen][SelectionDAG]Add new intrinsic experimental.vector.reverse.
Mon, Jan 18, 1:21 AM · Restricted Project

Thu, Jan 14

david-arm accepted D94593: [SVE] Restrict the usage of REINTERPRET_CAST..

LGTM!

Thu, Jan 14, 1:27 AM · Restricted Project

Wed, Jan 13

david-arm added inline comments to D94593: [SVE] Restrict the usage of REINTERPRET_CAST..
Wed, Jan 13, 6:54 AM · Restricted Project
david-arm added inline comments to D94593: [SVE] Restrict the usage of REINTERPRET_CAST..
Wed, Jan 13, 5:57 AM · Restricted Project
david-arm updated the diff for D94065: [NFC] Make remaining cost functions in LoopVectorize.cpp use InstructionCost.
Wed, Jan 13, 5:13 AM · Restricted Project
david-arm added inline comments to D94525: [SVE][CodeGen] Remove performMaskedGatherScatterCombine.
Wed, Jan 13, 2:31 AM · Restricted Project
david-arm committed rG4cd48535eca0: [NFC][InstructionCost] Use InstructionCost in… (authored by david-arm).
[NFC][InstructionCost] Use InstructionCost in…
Wed, Jan 13, 1:43 AM
david-arm closed D94484: [NFC][InstructionCost] Use InstructionCost in Transforms/Scalar/RewriteStatepointsForGC.cpp.
Wed, Jan 13, 1:43 AM · Restricted Project

Tue, Jan 12

david-arm updated the diff for D94427: [NFC][InstructionCost] Use InstructionCost in lib/Transforms/IPO/IROutliner.cpp.
  • I realised that instead of calling getValue() and asserting the cost is valid I can just change a few functions to return InstructionCost instead. The code simply compares the benefit and cost and decides to outline based upon that.
Tue, Jan 12, 5:08 AM · Restricted Project
david-arm requested review of D94484: [NFC][InstructionCost] Use InstructionCost in Transforms/Scalar/RewriteStatepointsForGC.cpp.
Tue, Jan 12, 3:05 AM · Restricted Project
david-arm updated the diff for D94065: [NFC] Make remaining cost functions in LoopVectorize.cpp use InstructionCost.
Tue, Jan 12, 1:35 AM · Restricted Project
david-arm accepted D94428: [SVE][CodeGen] CTLZ, CTTZ & CTPOP operations (predicates).

LGTM! The canonicalisation looks sensible to me.

Tue, Jan 12, 1:15 AM · Restricted Project
david-arm accepted D94074: [AArch64][SVE] Remove chains of unnecessary SVE reinterpret intrinsics.

LGTM! Thanks for adding the test.

Tue, Jan 12, 1:10 AM · Restricted Project
david-arm accepted D94471: [NFC] Use generic name for scalable vector stack ID..

LGTM! Seems like a sensible rename to me.

Tue, Jan 12, 1:07 AM · Restricted Project
david-arm added a comment to D94444: [RFC][Scalable] Add scalable shuffle intrinsic to extract evens from a pair of vectors.

Hi all, this is just a thought and I hope I'm not confusing things further (!), but we could also have something like:

Tue, Jan 12, 12:51 AM · Restricted Project

Mon, Jan 11

david-arm requested review of D94427: [NFC][InstructionCost] Use InstructionCost in lib/Transforms/IPO/IROutliner.cpp.
Mon, Jan 11, 9:16 AM · Restricted Project
david-arm added inline comments to D94074: [AArch64][SVE] Remove chains of unnecessary SVE reinterpret intrinsics.
Mon, Jan 11, 6:04 AM · Restricted Project
david-arm added inline comments to D94074: [AArch64][SVE] Remove chains of unnecessary SVE reinterpret intrinsics.
Mon, Jan 11, 5:33 AM · Restricted Project
david-arm added inline comments to D94074: [AArch64][SVE] Remove chains of unnecessary SVE reinterpret intrinsics.
Mon, Jan 11, 5:32 AM · Restricted Project
david-arm updated the diff for D94065: [NFC] Make remaining cost functions in LoopVectorize.cpp use InstructionCost.
Mon, Jan 11, 1:55 AM · Restricted Project
david-arm committed rG40abeb11f458: [NFC][InstructionCost] Change LoopVectorizationCostModel::getInstructionCost to… (authored by david-arm).
[NFC][InstructionCost] Change LoopVectorizationCostModel::getInstructionCost to…
Mon, Jan 11, 1:23 AM
david-arm closed D92178: [NFC][InstructionCost] Change LoopVectorizationCostModel::getInstructionCost to return InstructionCost.
Mon, Jan 11, 1:23 AM · Restricted Project
david-arm committed rGb7ccaca53700: [NFC] Remove min/max functions from InstructionCost (authored by david-arm).
[NFC] Remove min/max functions from InstructionCost
Mon, Jan 11, 1:00 AM
david-arm closed D94301: [NFC] Remove min/max functions from InstructionCost.
Mon, Jan 11, 1:00 AM · Restricted Project

Fri, Jan 8

david-arm updated the diff for D91957: [Support] Migrate more high level cost functions to using InstructionCost.
  • Following discussions on D94069, I've removed unnecessary checks for isValid when comparing costs.
Fri, Jan 8, 8:52 AM · Restricted Project
david-arm added a reviewer for D94301: [NFC] Remove min/max functions from InstructionCost: CarolineConcatto.
Fri, Jan 8, 7:27 AM · Restricted Project
david-arm accepted D94171: [SVE][CodeGen] Fix legalisation of floating-point masked gathers.

LGTM! I'd blame the reviewer for the bug in the previous patch. :)

Fri, Jan 8, 7:19 AM · Restricted Project
david-arm requested review of D94301: [NFC] Remove min/max functions from InstructionCost.
Fri, Jan 8, 6:16 AM · Restricted Project
david-arm added inline comments to D92178: [NFC][InstructionCost] Change LoopVectorizationCostModel::getInstructionCost to return InstructionCost.
Fri, Jan 8, 5:56 AM · Restricted Project
david-arm committed rG38d18d93534d: [SVE] Add support to vectorize_width loop pragma for scalable vectors (authored by david-arm).
[SVE] Add support to vectorize_width loop pragma for scalable vectors
Fri, Jan 8, 3:58 AM
david-arm closed D89031: [SVE] Add support to vectorize_width loop pragma for scalable vectors.
Fri, Jan 8, 3:58 AM · Restricted Project
david-arm committed rGd1bf26fd943e: [AArch64][SVE] Add lowering for llvm abs intrinsic (authored by david-arm).
[AArch64][SVE] Add lowering for llvm abs intrinsic
Fri, Jan 8, 12:55 AM
david-arm closed D94160: [AArch64][SVE] Add lowering for llvm abs intrinsic.
Fri, Jan 8, 12:55 AM · Restricted Project

Thu, Jan 7

david-arm added a comment to D92178: [NFC][InstructionCost] Change LoopVectorizationCostModel::getInstructionCost to return InstructionCost.

Hi folks, just a gentle ping to see if anyone has chance to have a quick look?

Thu, Jan 7, 6:31 AM · Restricted Project
david-arm updated the diff for D89031: [SVE] Add support to vectorize_width loop pragma for scalable vectors.
  • Updated documentation as per review comments.
  • Fixed an issue with using value->prettyPrint on a null ptr.
  • Reworked the code that sets vectorize.enable.
Thu, Jan 7, 6:24 AM · Restricted Project
david-arm accepted D94171: [SVE][CodeGen] Fix legalisation of floating-point masked gathers.

LGTM! Thanks for making the changes.

Thu, Jan 7, 5:11 AM · Restricted Project
david-arm accepted D94193: [SVE] Unpacked scalable floating point ZIP/UZP/TRN.

LGTM! We already have precedent for this with the nxv4f16 type anyway.

Thu, Jan 7, 1:28 AM · Restricted Project
david-arm added inline comments to D89031: [SVE] Add support to vectorize_width loop pragma for scalable vectors.
Thu, Jan 7, 12:30 AM · Restricted Project

Wed, Jan 6

david-arm added a comment to D89031: [SVE] Add support to vectorize_width loop pragma for scalable vectors.

Hi everyone, I realise that most people have probably been on holiday recently, but just a gentle ping here to see if anyone could take another look? Thanks!

Wed, Jan 6, 8:26 AM · Restricted Project
david-arm added inline comments to D94065: [NFC] Make remaining cost functions in LoopVectorize.cpp use InstructionCost.
Wed, Jan 6, 8:24 AM · Restricted Project
david-arm updated the diff for D94065: [NFC] Make remaining cost functions in LoopVectorize.cpp use InstructionCost.
Wed, Jan 6, 8:23 AM · Restricted Project
david-arm added a comment to D94065: [NFC] Make remaining cost functions in LoopVectorize.cpp use InstructionCost.

Hi @CarolineConcatto, I wasn't sure whether I needed to change computePredInstDiscount because I've assumed (possibly wrongly!) that we shouldn't be encountering invalid discounts (costs). At the end of computePredInstDiscount it calls *Discount.getValue(), which will assert if the cost is invalid so there is some protection. When we add scalable vector support I doubt we can even call this function in it's current form because we know the scalarisation overhead will always be invalid.

Wed, Jan 6, 7:48 AM · Restricted Project
david-arm added a reviewer for D94074: [AArch64][SVE] Remove chains of unnecessary SVE reinterpret intrinsics: paulwalker-arm.
Wed, Jan 6, 6:31 AM · Restricted Project
david-arm accepted D94161: [llvm][NFC] Disallow all warnings in TypeSize tests.

LGTM!

Wed, Jan 6, 6:29 AM · Restricted Project
david-arm updated the diff for D94160: [AArch64][SVE] Add lowering for llvm abs intrinsic.
  • Added support for using SVE with fixed length vectors.
Wed, Jan 6, 6:23 AM · Restricted Project
david-arm added inline comments to D94171: [SVE][CodeGen] Fix legalisation of floating-point masked gathers.
Wed, Jan 6, 6:13 AM · Restricted Project
david-arm added a comment to D94160: [AArch64][SVE] Add lowering for llvm abs intrinsic.

Hi @paulwalker-arm, I can add support for fixed length vectors in this patch. It's no trouble really. Aren't you supposed to be on holiday btw? 😉 Bored of The Witcher?

Wed, Jan 6, 3:40 AM · Restricted Project
david-arm updated subscribers of D94069: [NFC][InstructionCost]Migrate VectorCombine.cpp to use InstructionCost.
Wed, Jan 6, 1:55 AM · Restricted Project
david-arm updated the diff for D94160: [AArch64][SVE] Add lowering for llvm abs intrinsic.
  • Rebase
Wed, Jan 6, 1:46 AM · Restricted Project
david-arm requested review of D94160: [AArch64][SVE] Add lowering for llvm abs intrinsic.
Wed, Jan 6, 1:06 AM · Restricted Project
david-arm added inline comments to D93639: [AArch64][SVE]Add cost model for vector reduce for scalable vector.
Wed, Jan 6, 12:25 AM · Restricted Project

Tue, Jan 5

david-arm added inline comments to D86431: [SVE][CodeGen] Fix up warnings in sve-split-insert/extract tests.
Tue, Jan 5, 1:40 AM · Restricted Project
david-arm requested review of D94065: [NFC] Make remaining cost functions in LoopVectorize.cpp use InstructionCost.
Tue, Jan 5, 12:21 AM · Restricted Project

Mon, Jan 4

david-arm committed rGa65092040ad4: [SVE] Fix inline assembly parsing crash (authored by david-arm).
[SVE] Fix inline assembly parsing crash
Mon, Jan 4, 1:12 AM
david-arm closed D93537: [AArch64] Fix inline assembly parsing crash.
Mon, Jan 4, 1:12 AM · Restricted Project

Mon, Dec 21

david-arm added inline comments to D89031: [SVE] Add support to vectorize_width loop pragma for scalable vectors.
Mon, Dec 21, 8:29 AM · Restricted Project
david-arm added a reviewer for D89031: [SVE] Add support to vectorize_width loop pragma for scalable vectors: paulwalker-arm.
Mon, Dec 21, 8:20 AM · Restricted Project
david-arm accepted D93606: [SVE] Lower vector BITREVERSE and BSWAP operations..

LGTM!

Mon, Dec 21, 8:18 AM · Restricted Project
david-arm updated the diff for D93537: [AArch64] Fix inline assembly parsing crash.
Mon, Dec 21, 7:10 AM · Restricted Project
david-arm added a reviewer for D93537: [AArch64] Fix inline assembly parsing crash: c-rhodes.
Mon, Dec 21, 2:24 AM · Restricted Project
david-arm updated the diff for D92178: [NFC][InstructionCost] Change LoopVectorizationCostModel::getInstructionCost to return InstructionCost.
  • Removed assert in Instruction::ExtractValue case in getInstructionCost.
  • Rebase.
Mon, Dec 21, 1:56 AM · Restricted Project
david-arm committed rG3bf7d47a977d: [NFC][InstructionCost] Remove isValid() asserts in SLPVectorizer.cpp (authored by david-arm).
[NFC][InstructionCost] Remove isValid() asserts in SLPVectorizer.cpp
Mon, Dec 21, 1:13 AM

Dec 18 2020

david-arm updated the diff for D89031: [SVE] Add support to vectorize_width loop pragma for scalable vectors.
Dec 18 2020, 8:11 AM · Restricted Project
david-arm accepted D91718: [LV] Legalize scalable VF hints.

LGTM. I agree the FIXME in the code isn't ideal, but I understand why it's there and is only a temporary measure until we can fix the loop to support scalable vectors.

Dec 18 2020, 6:46 AM · Restricted Project
david-arm requested review of D93537: [AArch64] Fix inline assembly parsing crash.
Dec 18 2020, 5:42 AM · Restricted Project
david-arm accepted D93030: [AArch64][SVE]Add cost model for masked gather and scatter for scalable vector..

LGTM! Hi @tschuett I agree I think it's better to leave any possible refinement of getMaxVScale to a later patch as it may require new flags.

Dec 18 2020, 3:36 AM · Restricted Project
david-arm updated the diff for D92178: [NFC][InstructionCost] Change LoopVectorizationCostModel::getInstructionCost to return InstructionCost.
Dec 18 2020, 12:47 AM · Restricted Project
david-arm abandoned D92177: [NFC][InstructionCost] Refactor LoopVectorizationCostModel::selectVectorizationFactor.

After some recent upstream discussions in the SVE sync call this patch is no longer needed.

Dec 18 2020, 12:46 AM · Restricted Project

Dec 17 2020

david-arm accepted D93060: [TTI] Add supportsScalableVectors target hook.

LGTM!

Dec 17 2020, 5:10 AM · Restricted Project

Dec 16 2020

david-arm accepted D93132: [SVE][CodeGen] Vector + immediate addressing mode for masked gather/scatter.

LGTM!

Dec 16 2020, 9:06 AM · Restricted Project
david-arm added inline comments to D93132: [SVE][CodeGen] Vector + immediate addressing mode for masked gather/scatter.
Dec 16 2020, 8:32 AM · Restricted Project
david-arm added inline comments to D92747: [DAGCombiner] Use getVectorElementCount inside visitINSERT_SUBVECTOR.
Dec 16 2020, 7:58 AM · Restricted Project
david-arm added inline comments to D93132: [SVE][CodeGen] Vector + immediate addressing mode for masked gather/scatter.
Dec 16 2020, 7:27 AM · Restricted Project
david-arm accepted D93307: [SVE][CodeGen] Add bfloat16 support to scalable masked gather.

Happy with latest version. Looks good to go!

Dec 16 2020, 5:16 AM · Restricted Project
david-arm added inline comments to D93030: [AArch64][SVE]Add cost model for masked gather and scatter for scalable vector..
Dec 16 2020, 4:22 AM · Restricted Project
david-arm accepted D93307: [SVE][CodeGen] Add bfloat16 support to scalable masked gather.

LGTM!

Dec 16 2020, 2:57 AM · Restricted Project
david-arm added inline comments to D93307: [SVE][CodeGen] Add bfloat16 support to scalable masked gather.
Dec 16 2020, 1:16 AM · Restricted Project

Dec 15 2020

david-arm added inline comments to D93307: [SVE][CodeGen] Add bfloat16 support to scalable masked gather.
Dec 15 2020, 9:02 AM · Restricted Project
david-arm added a comment to D90020: [AArch64][SVE] Emit DWARF location expression for SVE stack objects..

Hi everyone, thanks for all the review comments! Unless anyone has strong objections I'd like to land this patch on Thursday on Sander's behalf, since he is on holiday at the moment.

Dec 15 2020, 7:44 AM · Restricted Project
david-arm added inline comments to D91718: [LV] Legalize scalable VF hints.
Dec 15 2020, 6:51 AM · Restricted Project
david-arm added inline comments to D91718: [LV] Legalize scalable VF hints.
Dec 15 2020, 6:40 AM · Restricted Project
david-arm added inline comments to D91957: [Support] Migrate more high level cost functions to using InstructionCost.
Dec 15 2020, 4:31 AM · Restricted Project
david-arm updated the diff for D91957: [Support] Migrate more high level cost functions to using InstructionCost.
Dec 15 2020, 4:23 AM · Restricted Project

Dec 14 2020

david-arm accepted D92094: [CostModel]Replace FixedVectorType by VectorType in costgetIntrinsicInstrCost.

LGTM with the nits addressed!

Dec 14 2020, 6:20 AM · Restricted Project
david-arm accepted D92572: [CodeGenPrepare] Update optimizeGatherScatterInst for scalable vectors..

LGTM!

Dec 14 2020, 4:25 AM · Restricted Project
david-arm added inline comments to D93132: [SVE][CodeGen] Vector + immediate addressing mode for masked gather/scatter.
Dec 14 2020, 4:15 AM · Restricted Project
david-arm accepted D93049: [SLPVectorizer]Migrate getTreeCost() to use InstructionCost.

LGTM!

Dec 14 2020, 1:32 AM · Restricted Project
david-arm added a comment to D93132: [SVE][CodeGen] Vector + immediate addressing mode for masked gather/scatter.

Hi @kmclaughlin, I've just got one function left to review, but your patch looks good so far with lots of thorough testing! I just had a few minor comments.

Dec 14 2020, 1:20 AM · Restricted Project

Dec 11 2020

david-arm committed rG616f9781af07: Fix build issue caused by 9b76160e53f67008ff21095098129a2949595a06 (authored by david-arm).
Fix build issue caused by 9b76160e53f67008ff21095098129a2949595a06
Dec 11 2020, 1:44 AM
david-arm committed rG9b76160e53f6: [Support] Introduce a new InstructionCost class (authored by david-arm).
[Support] Introduce a new InstructionCost class
Dec 11 2020, 12:41 AM
david-arm closed D91174: [Support] Introduce a new InstructionCost class.
Dec 11 2020, 12:40 AM · Restricted Project

Dec 10 2020

david-arm updated the diff for D91174: [Support] Introduce a new InstructionCost class.
Dec 10 2020, 7:02 AM · Restricted Project
david-arm updated the diff for D91174: [Support] Introduce a new InstructionCost class.
  • Fixed sorting issues with InstructionCost header + class declaration.
  • Added assert that ExtractValue cost is valid in LoopVectorize.cpp.
  • Added additional tests to InstructionCostTests.cpp
Dec 10 2020, 1:29 AM · Restricted Project
david-arm added inline comments to D91174: [Support] Introduce a new InstructionCost class.
Dec 10 2020, 12:52 AM · Restricted Project

Dec 9 2020

david-arm added a comment to D92760: [SelectionDAG] Implement SplitVecOp_INSERT_SUBVECTOR.

HI @paulwalker-arm, right that makes sense and thanks for the explanation!

Dec 9 2020, 2:44 AM · Restricted Project
david-arm added a comment to D92760: [SelectionDAG] Implement SplitVecOp_INSERT_SUBVECTOR.

If you can find a test that exposes the need for this split function with generic IR that would be really helpful I think - LLVM has managed for a long time without needing this split function so something has changed. I suspect it's probably just the new intrinsic that now exposes this code path.

Dec 9 2020, 1:58 AM · Restricted Project
david-arm added inline comments to D91174: [Support] Introduce a new InstructionCost class.
Dec 9 2020, 1:34 AM · Restricted Project
david-arm updated the diff for D91174: [Support] Introduce a new InstructionCost class.
  • Added increment and decrement operator tests.
Dec 9 2020, 1:34 AM · Restricted Project

Dec 8 2020

david-arm updated the diff for D91174: [Support] Introduce a new InstructionCost class.
  • Fixed typo in InstructionCost.h - replaced LLVM_ANALYSIS_INSTRUCTIONCOST_H with LLVM_SUPPORT_INSTRUCTIONCOST_H
Dec 8 2020, 7:55 AM · Restricted Project