Page MenuHomePhabricator

sdesmalen (Sander de Smalen)
User

Projects

User does not belong to any projects.

User Details

User Since
Oct 21 2016, 1:19 AM (292 w, 11 h)

Recent Activity

Wed, May 25

sdesmalen added inline comments to D125301: [LoopVectorize] Add option to use active lane mask for loop control flow.
Wed, May 25, 1:38 AM · Restricted Project, Restricted Project

Tue, May 24

sdesmalen accepted D126295: [LoopVectorize] Fix assertion failure in fixReduction when tail-folding.
Tue, May 24, 7:09 AM · Restricted Project, Restricted Project
sdesmalen added a comment to D126255: [SVE] Remove custom lowering of scalable vector MGATHER & MSCATTER operations..

Nice cleanup.

Tue, May 24, 12:21 AM · Restricted Project, Restricted Project

Thu, May 19

sdesmalen requested review of D125977: [AArch64] Remove references to Streaming SVE from target features..
Thu, May 19, 7:47 AM · Restricted Project, Restricted Project
sdesmalen accepted D125918: [LV] Improve register pressure estimate at high VFs.

This change looks right to me.

Thu, May 19, 2:55 AM · Restricted Project, Restricted Project

Tue, May 17

sdesmalen added inline comments to D125699: [StackColoring] Don't merge slots with differing StackIDs.
Tue, May 17, 12:57 AM · Restricted Project, Restricted Project
sdesmalen added a comment to D125699: [StackColoring] Don't merge slots with differing StackIDs.

I feel like I fixed this one before

Tue, May 17, 12:48 AM · Restricted Project, Restricted Project

Mon, May 16

sdesmalen accepted D125699: [StackColoring] Don't merge slots with differing StackIDs.

We have a similar fix downstream and I actually thought we already upstreamed this. In any case, good fix!

Mon, May 16, 1:33 PM · Restricted Project, Restricted Project

Fri, May 13

sdesmalen accepted D125235: [LoopVectorize] Add overflow checks when tail-folding with scalable vectors.
Fri, May 13, 3:05 AM · Restricted Project, Restricted Project
sdesmalen added inline comments to D125235: [LoopVectorize] Add overflow checks when tail-folding with scalable vectors.
Fri, May 13, 3:04 AM · Restricted Project, Restricted Project

Thu, May 12

sdesmalen added a comment to D125449: [ConstantFold] Fold bitcasts on scalable vector splats..

From what I gather about the bug report, RISCV doesn't suffer from it as we always dyn_cast to Instruction. Is that right? Just wondering if we should add a similar test - I don't think we have constant expr coverage in sink-splat-operands.ll.

That's what I did initially, but I couldn't write a test with a ZExt/SExt as ConstExpr that wouldn't fold, so that would mean I'd rewrite the code without being able to test it.

Thu, May 12, 7:19 AM · Restricted Project, Restricted Project
sdesmalen updated the diff for D125449: [ConstantFold] Fold bitcasts on scalable vector splats..
  • Addressed comments.
  • Reverted the fixed-width change (leading to different addrspacecast constant)
Thu, May 12, 7:05 AM · Restricted Project, Restricted Project
sdesmalen added inline comments to D125235: [LoopVectorize] Add overflow checks when tail-folding with scalable vectors.
Thu, May 12, 6:59 AM · Restricted Project, Restricted Project
sdesmalen accepted D121595: [LoopVectorize] Permit tail-folding for low trip counts using scalable vectors.
Thu, May 12, 6:37 AM · Restricted Project, Restricted Project
sdesmalen requested review of D125449: [ConstantFold] Fold bitcasts on scalable vector splats..
Thu, May 12, 12:32 AM · Restricted Project, Restricted Project

Wed, May 11

sdesmalen added a comment to D119442: [NFC][SVE] Add more tests to CodeGen/AArch64/sve-fixed-length-reshuffle.ll.

The tests all seem valid, but it's a bit difficult to review this patch without knowing what it's really trying to test without really going through AArch64TargetLowering::ReconstructShuffle in detail. That function is quite big/complicated, so it's not trivial to spot whether anything is missing or redundant.
My main question is whether all the insert/extract-subvector tests need to test all the permutations of element type and subvector?

Wed, May 11, 3:30 AM · Restricted Project, Restricted Project

Tue, May 10

sdesmalen accepted D124850: [Sema][SVE2] Move/simplify Sema testing for SVE2 ACLE builtins.
Tue, May 10, 3:16 AM · Restricted Project, Restricted Project
sdesmalen added inline comments to D124924: [Sema][SVE] Move/simplify Sema testing for SVE ACLE builtins.
Tue, May 10, 3:12 AM · Restricted Project, Restricted Project

Mon, May 9

sdesmalen added inline comments to D124924: [Sema][SVE] Move/simplify Sema testing for SVE ACLE builtins.
Mon, May 9, 7:51 AM · Restricted Project, Restricted Project
sdesmalen added inline comments to D124850: [Sema][SVE2] Move/simplify Sema testing for SVE2 ACLE builtins.
Mon, May 9, 7:51 AM · Restricted Project, Restricted Project
sdesmalen accepted D124924: [Sema][SVE] Move/simplify Sema testing for SVE ACLE builtins.
Mon, May 9, 7:44 AM · Restricted Project, Restricted Project

Wed, May 4

sdesmalen added inline comments to D124836: [AArch64] Add support for -fzero-call-used-regs.
Wed, May 4, 3:06 AM · Restricted Project, Restricted Project, Restricted Project
sdesmalen added a comment to D124850: [Sema][SVE2] Move/simplify Sema testing for SVE2 ACLE builtins.

Thanks for working on this @RosieSumpter!

Wed, May 4, 2:47 AM · Restricted Project, Restricted Project

Fri, Apr 29

sdesmalen accepted D122994: [SVE] Move reg+reg gather/scatter addressing optimisations from lowering into DAG combine..

Looks like a nice improvement and the code is now a bit more sensible.

Fri, Apr 29, 4:08 AM · Restricted Project, Restricted Project
sdesmalen added a comment to D124612: [AArch64][LV] AArch64 does not prefer vectorized addressing.

Did you do any performance measurements to get an impression of the performance impact of this change?

Fri, Apr 29, 3:47 AM · Restricted Project, Restricted Project
sdesmalen accepted D124655: [IR][CostModel] A scalable vector shuffle can't be an identity or reverse shuffle..
Fri, Apr 29, 1:48 AM · Restricted Project, Restricted Project

Apr 27 2022

sdesmalen added inline comments to D121899: [LoopVectorize] Optimise away the icmp when tail-folding for some low trip counts.
Apr 27 2022, 8:59 AM · Restricted Project, Restricted Project
sdesmalen added a comment to D121899: [LoopVectorize] Optimise away the icmp when tail-folding for some low trip counts.

Thanks for this patch Dave, I've left a few comments.

Apr 27 2022, 6:57 AM · Restricted Project, Restricted Project
sdesmalen accepted D123605: [Sema][SVE2] Move/simplify Sema testing for SVE2 ACLE builtins.

Thanks for this @RosieSumpter. If you remove the 'WIP' and s/SVE/SVE2/ from the title and description, I'm happy to accept. The negative tests for the SVE(1) intrinsics can be added as a separate patch.

Apr 27 2022, 5:58 AM · Restricted Project, Restricted Project

Apr 7 2022

sdesmalen accepted D120880: [AArch64] Insert subvector costs.
Apr 7 2022, 1:44 AM · Restricted Project, Restricted Project

Mar 28 2022

sdesmalen added inline comments to D122551: [AArch64] Enhance last active true vector combine.
Mar 28 2022, 3:02 AM · Restricted Project, Restricted Project

Mar 18 2022

sdesmalen added a comment to D121208: [AArch64][SME] Split up SME features. (alternative approach).

Hi @t.p.northover, I've added you as a reviewer since you're the AArch64 backend maintainer and the approach set out in this patch has some implications on (forward-)compatibility of the IR.

Mar 18 2022, 4:26 AM · Restricted Project, Restricted Project
sdesmalen added a reviewer for D121208: [AArch64][SME] Split up SME features. (alternative approach): t.p.northover.
Mar 18 2022, 4:24 AM · Restricted Project, Restricted Project
sdesmalen updated the diff for D121208: [AArch64][SME] Split up SME features. (alternative approach).

Updated some of the comments and changed assembler behaviour to let +sme
enable all streaming-compatible SVE(2) instructions without necessarily
requiring +sve2 as well.

Mar 18 2022, 3:30 AM · Restricted Project, Restricted Project
sdesmalen added a comment to D121208: [AArch64][SME] Split up SME features. (alternative approach).

Hi @rsandifo-arm, thanks for your comments!

Mar 18 2022, 2:52 AM · Restricted Project, Restricted Project

Mar 17 2022

sdesmalen accepted D121905: [AArch64][SVE] Fix lowering of "fcmp ueq/one" when using SVE.
Mar 17 2022, 9:48 AM · Restricted Project, Restricted Project
sdesmalen added inline comments to D121595: [LoopVectorize] Permit tail-folding for low trip counts using scalable vectors.
Mar 17 2022, 3:59 AM · Restricted Project, Restricted Project

Mar 16 2022

sdesmalen accepted D121452: [VPlan] Avoid scalarization for scalable vectors..

Thanks for the fix @malharJ, I'm happy with the patch now.

Mar 16 2022, 6:53 AM · Restricted Project, Restricted Project
sdesmalen accepted D121792: [AArch64][SVE] InstCombine llvm.aarch64.sve.sel to select.
Mar 16 2022, 6:49 AM · Restricted Project, Restricted Project, Restricted Project

Mar 15 2022

sdesmalen updated the diff for D121208: [AArch64][SME] Split up SME features. (alternative approach).

Simplified the patch by setting +pstate-sm1 and +pstate-za1 by default,
as neither of these have any effect without +sme. This reduces the need
to have separate internal/external flags for SME like in the first
revision because having +sme imply +pstate-sm1 and +pstate-za1 led
to problems when disabling the pstate features (which is kind of their
intended use).

Mar 15 2022, 10:40 AM · Restricted Project, Restricted Project
sdesmalen added a comment to D121690: [VPlan] Don't collect some values as scalars.

Hi @TKaipeng, this looks like a duplicate of D121452.

Mar 15 2022, 5:47 AM · Restricted Project, Restricted Project
sdesmalen added inline comments to D121452: [VPlan] Avoid scalarization for scalable vectors..
Mar 15 2022, 5:36 AM · Restricted Project, Restricted Project

Mar 11 2022

sdesmalen added inline comments to D121452: [VPlan] Avoid scalarization for scalable vectors..
Mar 11 2022, 3:51 AM · Restricted Project, Restricted Project
sdesmalen added a comment to D121452: [VPlan] Avoid scalarization for scalable vectors..

Hi @malharJ, thanks for this fix! I believe this is doing the right thing, because for scalable vectors an instruction should either be considered uniform after vectorization, or it shouldn't be considered scalar.

Mar 11 2022, 2:39 AM · Restricted Project, Restricted Project
sdesmalen added reviewers for D121452: [VPlan] Avoid scalarization for scalable vectors.: kmclaughlin, david-arm, fhahn.
Mar 11 2022, 2:32 AM · Restricted Project, Restricted Project
sdesmalen added a comment to D121282: [llvm test suite] Treat NOEXE test result as a failure.

D121297 has been committed, so I think this patch should be good to land.

Mar 11 2022, 2:00 AM · Restricted Project
sdesmalen accepted D121109: [AArch64] Add cost model for llvm.get.active.lane.mask intrinsic.
Mar 11 2022, 1:29 AM · Restricted Project, Restricted Project

Mar 9 2022

sdesmalen accepted D121294: [AArch64][SVE][Clang] Fix crash for incorrect svptrue and svcnt parameters.

This is missing tests for svundef, svrdffr, svsetffr and svpfalse?

@sdesmalen Only svcnt and svptrue cause the crash. This might be because of extra values added by the [IsAppendSVALL] TypeFlag in arm_sve.td. We decided to change other intrinsics with 0 parameters as there seems to be no drawbacks to doing so and it might catch further future errors.

Fair enough. Since you're adding the void to the prototype for a reason (the diagnostic behaviour now changes), I figured you may as well want to test it.

Mar 9 2022, 9:28 AM · Restricted Project, Restricted Project
sdesmalen added a comment to D121294: [AArch64][SVE][Clang] Fix crash for incorrect svptrue and svcnt parameters.

This is missing tests for svundef, svrdffr, svsetffr and svpfalse?

Mar 9 2022, 8:03 AM · Restricted Project, Restricted Project
sdesmalen accepted D121282: [llvm test suite] Treat NOEXE test result as a failure.

Showing a failure on build failures is one of the things that we rely on the buildbots for, so I agree it makes sense to check for NOEXE. Thanks for the fix!

Mar 9 2022, 6:31 AM · Restricted Project
sdesmalen added inline comments to D120894: [AArch64][SVE]Make better use of gather/scatter when inside a loop body.
Mar 9 2022, 2:31 AM · Restricted Project, Restricted Project

Mar 8 2022

sdesmalen added inline comments to D121109: [AArch64] Add cost model for llvm.get.active.lane.mask intrinsic.
Mar 8 2022, 6:34 AM · Restricted Project, Restricted Project
sdesmalen added inline comments to D120880: [AArch64] Insert subvector costs.
Mar 8 2022, 6:30 AM · Restricted Project, Restricted Project
sdesmalen requested review of D121208: [AArch64][SME] Split up SME features. (alternative approach).
Mar 8 2022, 4:40 AM · Restricted Project, Restricted Project

Mar 7 2022

sdesmalen added inline comments to D121109: [AArch64] Add cost model for llvm.get.active.lane.mask intrinsic.
Mar 7 2022, 5:46 AM · Restricted Project, Restricted Project

Mar 4 2022

sdesmalen committed rG7c65d2288bfd: [AArch64] Improve access to fixed-width object when stack has SVE. (authored by sdesmalen).
[AArch64] Improve access to fixed-width object when stack has SVE.
Mar 4 2022, 1:35 AM · Restricted Project
sdesmalen committed rGd363bddac5ef: [AArch64] NFC: Add test for access to fixed-width stack object when stack has… (authored by sdesmalen).
[AArch64] NFC: Add test for access to fixed-width stack object when stack has…
Mar 4 2022, 1:35 AM · Restricted Project
sdesmalen closed D120738: [AArch64] Improve access to fixed-width object when stack has SVE..
Mar 4 2022, 1:35 AM · Restricted Project, Restricted Project

Mar 3 2022

sdesmalen added inline comments to D120894: [AArch64][SVE]Make better use of gather/scatter when inside a loop body.
Mar 3 2022, 6:35 AM · Restricted Project, Restricted Project
sdesmalen accepted D120706: [AArch64] Use first op of FADDPv* instead of implicit def..

I've seen this in other places as well where introducing explicit implicit defs leads to less efficient register allocation, so I can see this is an improvement.

Mar 3 2022, 12:52 AM · Restricted Project, Restricted Project
sdesmalen accepted D118561: [AArch64] Add legal types for Streaming SVE.

Apologies for the delay in reviewing, but this looks good to me.

Mar 3 2022, 12:36 AM · Restricted Project, Restricted Project
sdesmalen accepted D118562: [AArch64] Allow copying of SVE registers in Streaming SVE.

Thanks for the update, LGTM!

Mar 3 2022, 12:36 AM · Restricted Project, Restricted Project

Mar 2 2022

sdesmalen committed rGef9816e43c14: [AArch64][SME] Don't infer -neon from +streaming-sve. (authored by sdesmalen).
[AArch64][SME] Don't infer -neon from +streaming-sve.
Mar 2 2022, 9:33 AM · Restricted Project
sdesmalen closed D120809: [AArch64][SME] Don't infer -neon from +streaming-sve..
Mar 2 2022, 9:33 AM · Restricted Project, Restricted Project
sdesmalen requested review of D120809: [AArch64][SME] Don't infer -neon from +streaming-sve..
Mar 2 2022, 5:36 AM · Restricted Project, Restricted Project
sdesmalen accepted D120773: [AArch64] Shifts cost 1.
Mar 2 2022, 2:51 AM · Restricted Project, Restricted Project
sdesmalen accepted D120771: [AArch64] Update costs for some fp16 converts.

Looks accurate, thanks!

Mar 2 2022, 2:49 AM · Restricted Project, Restricted Project

Mar 1 2022

sdesmalen requested review of D120738: [AArch64] Improve access to fixed-width object when stack has SVE..
Mar 1 2022, 9:21 AM · Restricted Project, Restricted Project
sdesmalen updated the diff for D120261: [AArch64][SME] Split up SME features..
  • Replaced nonstreaming-compatible-sme with streaming-agnostic-sme
  • Replaced streaming-sme with streaming-sve.
Mar 1 2022, 4:03 AM · Restricted Project, Restricted Project
sdesmalen committed rG9765e2b5ff6e: [AArch64] NFC: Change description of Streaming SVE mode. (authored by sdesmalen).
[AArch64] NFC: Change description of Streaming SVE mode.
Mar 1 2022, 3:33 AM
sdesmalen added inline comments to D120665: [AArch64] Fix the TuneExynosM4 entry in lib/Target/AArch64/AArch64.td.
Mar 1 2022, 3:21 AM · Restricted Project, Restricted Project

Feb 28 2022

sdesmalen added inline comments to D120665: [AArch64] Fix the TuneExynosM4 entry in lib/Target/AArch64/AArch64.td.
Feb 28 2022, 9:17 AM · Restricted Project, Restricted Project
sdesmalen abandoned D120257: [AArch64][SME] Replace +streaming-sve feature with +streaming-compatible-<feature>..
Feb 28 2022, 7:48 AM · Restricted Project
sdesmalen committed rGeac2638ec169: [AArch64][SVE] Fold away SETCC if original input was predicate vector. (authored by sdesmalen).
[AArch64][SVE] Fold away SETCC if original input was predicate vector.
Feb 28 2022, 6:14 AM
sdesmalen closed D119334: [AArch64][SVE] Fold away SETCC if original input was predicate vector..
Feb 28 2022, 6:14 AM · Restricted Project
sdesmalen committed rG201e3686ab45: [AArch64][SVE] Handle more cases in findMoreOptimalIndexType. (authored by sdesmalen).
[AArch64][SVE] Handle more cases in findMoreOptimalIndexType.
Feb 28 2022, 4:17 AM
sdesmalen closed D119728: [AArch64][SVE] Handle more cases in findMoreOptimalIndexType..
Feb 28 2022, 4:16 AM · Restricted Project
sdesmalen accepted D120603: [AArch64][SME] Add rdsvl instruction.
Feb 28 2022, 1:47 AM · Restricted Project
sdesmalen accepted D120554: [AArch64][SME] Add addsvl and addspl instructions.
Feb 28 2022, 1:39 AM · Restricted Project

Feb 24 2022

sdesmalen updated the diff for D119728: [AArch64][SVE] Handle more cases in findMoreOptimalIndexType..

Added condition to findMoreOptimalIndexType that index is a vector of
i64's and swapped order of shl/mul since scale is guaranteed to be constant.

Feb 24 2022, 6:41 AM · Restricted Project
sdesmalen added inline comments to D120257: [AArch64][SME] Replace +streaming-sve feature with +streaming-compatible-<feature>..
Feb 24 2022, 5:32 AM · Restricted Project
sdesmalen committed rGff3f3a54e2d1: [AArch64][AsmParser] Arch directives should set implied features. (authored by sdesmalen).
[AArch64][AsmParser] Arch directives should set implied features.
Feb 24 2022, 1:16 AM
sdesmalen closed D120259: [AArch64][AsmParser] Arch directives should set implied features..
Feb 24 2022, 1:16 AM · Restricted Project

Feb 23 2022

sdesmalen accepted D115873: [LAA] Add remarks for unbounded array access.
Feb 23 2022, 5:50 AM · Restricted Project

Feb 22 2022

sdesmalen updated the diff for D119334: [AArch64][SVE] Fold away SETCC if original input was predicate vector..

Addressed @david-arm's comments.

Feb 22 2022, 8:37 AM · Restricted Project
sdesmalen committed rGffa4dfc8de52: [AArch64][SME] Remove term 'streaming-sve' from assembler diagnostics. (authored by sdesmalen).
[AArch64][SME] Remove term 'streaming-sve' from assembler diagnostics.
Feb 22 2022, 6:33 AM
sdesmalen closed D120256: [AArch64][SME] Remove term 'streaming-sve' from assembler diagnostics..
Feb 22 2022, 6:33 AM · Restricted Project
sdesmalen added inline comments to D119728: [AArch64][SVE] Handle more cases in findMoreOptimalIndexType..
Feb 22 2022, 1:55 AM · Restricted Project
sdesmalen added inline comments to D120259: [AArch64][AsmParser] Arch directives should set implied features..
Feb 22 2022, 1:27 AM · Restricted Project
sdesmalen updated the diff for D120259: [AArch64][AsmParser] Arch directives should set implied features..

Addressed @c-rhodes' comments.

Feb 22 2022, 1:27 AM · Restricted Project

Feb 21 2022

sdesmalen requested review of D120261: [AArch64][SME] Split up SME features..
Feb 21 2022, 9:43 AM · Restricted Project, Restricted Project
sdesmalen requested review of D120259: [AArch64][AsmParser] Arch directives should set implied features..
Feb 21 2022, 9:35 AM · Restricted Project
sdesmalen requested review of D120257: [AArch64][SME] Replace +streaming-sve feature with +streaming-compatible-<feature>..
Feb 21 2022, 9:01 AM · Restricted Project
sdesmalen requested review of D120256: [AArch64][SME] Remove term 'streaming-sve' from assembler diagnostics..
Feb 21 2022, 8:53 AM · Restricted Project
sdesmalen accepted D120240: [InstCombine] Bail out of load-store forwarding for scalable vector types.
Feb 21 2022, 8:29 AM · Restricted Project

Feb 17 2022

sdesmalen accepted D119338: [AArch64][SVE] Add structured load/store opcodes to getMemOpInfo.

LGTM!

Feb 17 2022, 7:27 AM · Restricted Project

Feb 16 2022

sdesmalen added inline comments to D119238: [InstCombine] Support load-store forwarding with scalable vector types.
Feb 16 2022, 7:17 AM · Restricted Project, Restricted Project

Feb 15 2022

sdesmalen accepted D119793: [SelectionDAG] Add SPLAT_VECTOR to SelectionDAG::isConstantFPBuildVectorOrConstantFP..

Thanks, LGTM!

Feb 15 2022, 1:25 PM · Restricted Project
sdesmalen added a comment to D119529: [BasicTTI] Set scalarization cost of getCommonMaskedMemoryOpCost to Invalid..

Can you add a test for this change?

The crash only triggered target is given (specify -mtriple=riscv64) and BasicTTIImplBase::getCommonMaskedMemoryOpCost would be called.
If no target given, NoTTIImpl is used as TTI, and TargetTransformInfoImpl.h::getMemoryOpCost simply returns cost 1 without any crash.

I don't have plan to implement hook getMaskedMemoryOpCost for RISCV.
Do you have any suggest for this kind situation?

Feb 15 2022, 3:05 AM · Restricted Project, Restricted Project
sdesmalen requested changes to D119338: [AArch64][SVE] Add structured load/store opcodes to getMemOpInfo.

Hi @kmclaughlin, thanks for updating the tests as MIR tests, these look really good now! I've still requested changes on the patch, because the scaling doesn't look right yet. It seems like this offsets the base pointer with the wrong value/offset. It should be pretty trivial to fix that though.

Feb 15 2022, 1:58 AM · Restricted Project