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 (208 w, 3 d)

Recent Activity

Today

sdesmalen added inline comments to D89703: [SVE][ValueTracking] Clarify TypeSize comparisons in llvm/lib/Transforms.
Mon, Oct 19, 9:10 AM · Restricted Project
sdesmalen added inline comments to D89701: Fix TypeSize warning in redundant store elimination.
Mon, Oct 19, 7:49 AM · Restricted Project

Fri, Oct 16

sdesmalen accepted D88947: [SVE] Replace TypeSize comparison operators in llvm/utils/TableGen.

LGTM!

Fri, Oct 16, 1:32 AM · Restricted Project
sdesmalen added inline comments to D88962: [SVE] Add support for scalable vectors in vectorize_width loop attribute.
Fri, Oct 16, 1:29 AM · Restricted Project
sdesmalen accepted D89116: [SVE][AArch64] Replace TypeSize comparisons with their integer equivalents.

Based on what we discussed in the SVE call yesterday, I'm happy with the uses of getFixedSizeInBits. LGTM!

Fri, Oct 16, 12:39 AM · Restricted Project

Tue, Oct 13

sdesmalen added inline comments to D88982: [NFCI] Add LinearPolyBase as base class for ElementCount, TypeSize and StackOffset..
Tue, Oct 13, 7:18 AM · Restricted Project, Restricted Project

Mon, Oct 12

sdesmalen updated the diff for D88983: [NFCI] Replace AArch64StackOffset by StackOffset..
  • Rebased patch.
Mon, Oct 12, 10:04 AM · Restricted Project
sdesmalen updated the summary of D88982: [NFCI] Add LinearPolyBase as base class for ElementCount, TypeSize and StackOffset..
Mon, Oct 12, 10:03 AM · Restricted Project, Restricted Project
sdesmalen updated the diff for D88982: [NFCI] Add LinearPolyBase as base class for ElementCount, TypeSize and StackOffset..
  • Rebased patch.
  • Added class LinearPolyBaseOperators which provides a set of overloaded operators for derived classes.
  • Made ElementCount a deriving class, because it needs 'isScalar' and 'isVector' methods which cannot be part of its parent class.
Mon, Oct 12, 10:02 AM · Restricted Project, Restricted Project
sdesmalen added a comment to D89116: [SVE][AArch64] Replace TypeSize comparisons with their integer equivalents.

Please ignore my comments about getScalarSizeInBits, I thought that interface would assert that the type is not a vector (which I thought would be an extra guard that it's okay to ask for the fixed-size).
Instead, it returns the element type if the type is a vector, so in that case I agree it's better to use getFixedSizeInBits().

Mon, Oct 12, 8:59 AM · Restricted Project
sdesmalen added inline comments to D89116: [SVE][AArch64] Replace TypeSize comparisons with their integer equivalents.
Mon, Oct 12, 8:35 AM · Restricted Project
sdesmalen added inline comments to D88994: Fix the default alignment of i1 vectors..
Mon, Oct 12, 8:05 AM · Restricted Project
sdesmalen accepted D89138: [AArch64] Implement .variant_pcs directive.

LGTM!

Mon, Oct 12, 7:58 AM · Restricted Project

Fri, Oct 9

sdesmalen added inline comments to D89138: [AArch64] Implement .variant_pcs directive.
Fri, Oct 9, 10:14 AM · Restricted Project
sdesmalen accepted D88409: [SVE] Make ElementCount and TypeSize use a new PolySize class.

Thanks @david-arm, I think I'm happy enough with the changes you've made. Also some of these changes will be followed up further in D88982.
Please also give @ctetreau a chance to give his blessing before you commit.

Fri, Oct 9, 10:02 AM · Restricted Project, Restricted Project
sdesmalen added a comment to D88994: Fix the default alignment of i1 vectors..

Thanks for working on this @efriedma. The change seem sensible to me and I appreciate the effect it has on SVE predicates.
I can't really speak for the correctness for other targets though.

Fri, Oct 9, 9:31 AM · Restricted Project
sdesmalen added inline comments to D88595: [TableGen] Add not_all_same constraint check.
Fri, Oct 9, 9:22 AM · Restricted Project

Thu, Oct 8

sdesmalen updated the diff for D88983: [NFCI] Replace AArch64StackOffset by StackOffset..

Rebased patch.

Thu, Oct 8, 9:59 AM · Restricted Project
sdesmalen updated the diff for D88982: [NFCI] Add LinearPolyBase as base class for ElementCount, TypeSize and StackOffset..
  • Renamed PolyBase -> LinearPolyBase, DimIsExclusive -> IsUnivariate, etc.
  • Removed verify() method.
  • Replaced regular array with std::array.
  • Changed name of new StackOffset class in TypeSize.h to NewStackOffset, so not to clash with the one defined in AArch64StackOffset.h. This is renamed to StackOffset in D88983 when it removes AArch64StackOffset.h entirely.
  • Moved TestStackOffset.cpp from D88983 to this patch.
  • Updated commit message.
Thu, Oct 8, 9:57 AM · Restricted Project, Restricted Project

Wed, Oct 7

sdesmalen added a comment to D88982: [NFCI] Add LinearPolyBase as base class for ElementCount, TypeSize and StackOffset..

This isn't really a true polynomial because it doesn't support multiplication of two terms: 2x * 2x = 4x^2

If what we have here is all we need, then I think it's fine (having not actually code reviewed the implementation at the time of this writing), but we should call it like it is, and ideally implement it in such a way that it would be straightforward to implement a true polynomial.

Are you suggesting rename PolyBase or just to remove the term 'polynomial' from the commit message and any of the comments?

Wed, Oct 7, 11:24 AM · Restricted Project, Restricted Project
sdesmalen added inline comments to D88409: [SVE] Make ElementCount and TypeSize use a new PolySize class.
Wed, Oct 7, 11:16 AM · Restricted Project, Restricted Project
sdesmalen requested review of D88983: [NFCI] Replace AArch64StackOffset by StackOffset..
Wed, Oct 7, 10:04 AM · Restricted Project
sdesmalen requested review of D88982: [NFCI] Add LinearPolyBase as base class for ElementCount, TypeSize and StackOffset..
Wed, Oct 7, 10:03 AM · Restricted Project, Restricted Project

Fri, Oct 2

sdesmalen accepted D88214: [TableGen] Added a function to identify unsupported opcodes.

Hi @dp, thanks for your detailed reply!

Fri, Oct 2, 8:58 AM · Restricted Project
sdesmalen added a comment to D88595: [TableGen] Add not_all_same constraint check.

Thanks for working on this @greened!

Fri, Oct 2, 7:40 AM · Restricted Project

Thu, Oct 1

sdesmalen added a comment to D88214: [TableGen] Added a function to identify unsupported opcodes.

Please note that MatchInstructionImpl may also return Match_MissingFeature if an operand does not match selected feature set. So we cannot use MatchInstructionImpl to find out if an instruction mnemonic is supported or not - Match_MissingFeature may be returned for other reasons

Did you try out my suggestion though? Because if I make this local change in AMDGPUAsmParser:

-  OperandMatchResultTy ResTy = MatchOperandParserImpl(Operands, Mnemonic);
+  OperandMatchResultTy ResTy = MatchOperandParserImpl(Operands, Mnemonic, /*ParseForAllFeatures=*/true);

then most of the cases you fixed in D88211 are fixed for free and I don't see the case happening that you mention here. If the above change doesn't fix that, can you please point me to the test for which that happens?
(If the above change does fix it, we should probably consider making 'true' the default for MatchOperandParserImpl)

Thu, Oct 1, 1:26 AM · Restricted Project

Wed, Sep 30

sdesmalen added inline comments to D88409: [SVE] Make ElementCount and TypeSize use a new PolySize class.
Wed, Sep 30, 8:53 AM · Restricted Project, Restricted Project
sdesmalen added inline comments to D86928: [SVE][CodeGen] Fix TypeSize/ElementCount related warnings in sve-split-store.ll.
Wed, Sep 30, 3:50 AM · Restricted Project
sdesmalen added a comment to D88482: [SVE][CodeGen][NFC] Replace TypeSize comparison operators with their scalar equivalents.

From a fixed-width vector perspective, all the getFixedSize() changes are purely NFC. Changes like getSizeInBits() -> getScalarSizeInBits() are _possibly_ functional if your assumption that the type must be a scalar value, ends up being false. I think the exception here are the cases where it can be trivially seen that the function bails out early when the type is not a scalar.

Wed, Sep 30, 3:35 AM · Restricted Project

Tue, Sep 29

sdesmalen accepted D88321: [SVE][CodeGen] Lower scalable fp_extend & fp_round operations.

LGTM as well.

Tue, Sep 29, 8:44 AM · Restricted Project
sdesmalen added inline comments to D88409: [SVE] Make ElementCount and TypeSize use a new PolySize class.
Tue, Sep 29, 8:22 AM · Restricted Project, Restricted Project
sdesmalen added a comment to D88214: [TableGen] Added a function to identify unsupported opcodes.

Hi @dp, I believe that I encountered the same issue when adding the assembler support for AArch64 SVE.

Tue, Sep 29, 6:29 AM · Restricted Project

Fri, Sep 25

sdesmalen added inline comments to D88321: [SVE][CodeGen] Lower scalable fp_extend & fp_round operations.
Fri, Sep 25, 10:50 AM · Restricted Project
sdesmalen added a comment to D87700: [SVE] Replace / operator in TypeSize/ElementCount with divideCoefficientBy.

I'm happy colour of the bikeshed. Please re-run clang-format on it though.

Fri, Sep 25, 10:08 AM · Restricted Project, Restricted Project

Thu, Sep 24

sdesmalen added inline comments to D88098: [SVE] Add new isKnownXX comparison functions to TypeSize.
Thu, Sep 24, 9:57 AM · Restricted Project

Wed, Sep 23

sdesmalen accepted D88117: [AArch64][SVE] Fix frame offset calculation when d8 is saved..

LGTM, thanks for fixing!

Wed, Sep 23, 10:02 AM · Restricted Project
sdesmalen added inline comments to D88033: [SVE][CodeGen] Legalisation of integer -> floating point conversions.
Wed, Sep 23, 2:44 AM · Restricted Project

Tue, Sep 22

sdesmalen accepted D87889: [SVE] Make EVT::getScalarSizeInBits and others consistent with Type::getScalarSizeInBits.

LGTM. I think this is a sensible change. TypeSize is used to indicate that a value could be scalable, but if it is known the type is always fixed-size this change simplifies code that calls getScalarSizeInBits (i.e. no need to call 'getFixedSize`).
It also puts us on the path towards removing the implicit casts to uint64_t.

Tue, Sep 22, 9:44 AM · Restricted Project
sdesmalen added inline comments to D87700: [SVE] Replace / operator in TypeSize/ElementCount with divideCoefficientBy.
Tue, Sep 22, 9:27 AM · Restricted Project, Restricted Project
sdesmalen accepted D87378: [SVE] Fix InstCombinerImpl::PromoteCastOfAllocation for scalable vectors.

LGTM, thanks for the changes @david-arm!

Tue, Sep 22, 6:07 AM · Restricted Project
sdesmalen accepted D87913: [SVE][CodeGen] Lower legal integer -> floating point conversions.

LGTM as well, thanks @kmclaughlin!

Tue, Sep 22, 5:47 AM · Restricted Project

Sep 17 2020

sdesmalen added inline comments to D87700: [SVE] Replace / operator in TypeSize/ElementCount with divideCoefficientBy.
Sep 17 2020, 6:11 AM · Restricted Project, Restricted Project

Sep 14 2020

sdesmalen added inline comments to D87550: [SLPVectorizer][SVE] Skip scalable-vector instructions before vectorizeSimpleInstructions..
Sep 14 2020, 10:11 AM · Restricted Project
sdesmalen accepted D87227: [SVE] Fix isLoadInvariantInLoop for scalable vectors.

nit: I don't know if Clang ever really generates a llvm.invariant.start with -1 size in practice, but if it does, you may want to land this patch as two separate patches, one patch that prevents hoisting when size = -1 and another to stop the hoisting for scalable vectors.

Sep 14 2020, 7:46 AM · Restricted Project
sdesmalen added inline comments to D86928: [SVE][CodeGen] Fix TypeSize/ElementCount related warnings in sve-split-store.ll.
Sep 14 2020, 7:29 AM · Restricted Project
sdesmalen added inline comments to D86928: [SVE][CodeGen] Fix TypeSize/ElementCount related warnings in sve-split-store.ll.
Sep 14 2020, 6:24 AM · Restricted Project
sdesmalen added inline comments to D87227: [SVE] Fix isLoadInvariantInLoop for scalable vectors.
Sep 14 2020, 6:02 AM · Restricted Project
sdesmalen added inline comments to D87227: [SVE] Fix isLoadInvariantInLoop for scalable vectors.
Sep 14 2020, 3:39 AM · Restricted Project
sdesmalen accepted D86249: [llvm][CodeGen] Do not scalarize `llvm.masked.[gather|scatter]` operating on scalable vectors..

Thanks @fpetrogalli, LGTM!

Sep 14 2020, 3:22 AM · Restricted Project
sdesmalen added inline comments to D87378: [SVE] Fix InstCombinerImpl::PromoteCastOfAllocation for scalable vectors.
Sep 14 2020, 3:09 AM · Restricted Project

Sep 9 2020

sdesmalen added inline comments to D87358: [clang][aarch64] Fix ILP32 ABI for arm_sve_vector_bits.
Sep 9 2020, 9:54 AM · Restricted Project
sdesmalen added inline comments to D87378: [SVE] Fix InstCombinerImpl::PromoteCastOfAllocation for scalable vectors.
Sep 9 2020, 9:37 AM · Restricted Project
sdesmalen added inline comments to D87227: [SVE] Fix isLoadInvariantInLoop for scalable vectors.
Sep 9 2020, 5:20 AM · Restricted Project

Sep 3 2020

sdesmalen abandoned D71713: Downstream SVE/SVE2 implementation (Clang).

Abandoning this revision because an updated version of this patch (based on LLVM 9) has been posted in D87056.

Sep 3 2020, 1:43 AM
sdesmalen abandoned D71712: Downstream SVE/SVE2 implementation (LLVM).

Abandoning this revision because an updated version of this patch (based on LLVM 9) has been posted in D87056.

Sep 3 2020, 1:43 AM

Sep 2 2020

sdesmalen planned changes to D87056: [POC] SVE/SVE2 implementation (LLVM 9).
Sep 2 2020, 2:38 PM · Restricted Project, Restricted Project
sdesmalen requested review of D87056: [POC] SVE/SVE2 implementation (LLVM 9).
Sep 2 2020, 2:37 PM · Restricted Project, Restricted Project
sdesmalen added a comment to D84737: [AArch64][SVE] Preserve full vector regs over EH edge..

Thanks for reviewing the patch!

Sep 2 2020, 1:11 PM · Restricted Project
sdesmalen committed rGf13beac51be0: [AArch64][SVE] Preserve full vector regs over EH edge. (authored by sdesmalen).
[AArch64][SVE] Preserve full vector regs over EH edge.
Sep 2 2020, 2:55 AM
sdesmalen closed D84737: [AArch64][SVE] Preserve full vector regs over EH edge..
Sep 2 2020, 2:55 AM · Restricted Project
sdesmalen added inline comments to D86989: [InstCombine] Fix a couple crahses with extractelement on a scalable vector..
Sep 2 2020, 12:40 AM · Restricted Project
sdesmalen accepted D86989: [InstCombine] Fix a couple crahses with extractelement on a scalable vector..
Sep 2 2020, 12:33 AM · Restricted Project

Sep 1 2020

sdesmalen added a comment to D84737: [AArch64][SVE] Preserve full vector regs over EH edge..

Hi @efriedma, what do you think of the latest changes to this patch?

Sep 1 2020, 2:16 PM · Restricted Project
sdesmalen added a comment to D86249: [llvm][CodeGen] Do not scalarize `llvm.masked.[gather|scatter]` operating on scalable vectors..

[llvm][sve] Make llvm.masked.[gather|scatter] legal for SVE.

The title of the patch seems wrong, as this patch doesn't do any legalization of masked.gather/scatter for SVE?

Sep 1 2020, 2:51 AM · Restricted Project

Aug 28 2020

sdesmalen added inline comments to D84737: [AArch64][SVE] Preserve full vector regs over EH edge..
Aug 28 2020, 2:16 AM · Restricted Project
sdesmalen added a comment to D84737: [AArch64][SVE] Preserve full vector regs over EH edge..

Does MIRParser also need to be modified?

You're right, that was missing. Thanks for pointing out!

Aug 28 2020, 2:14 AM · Restricted Project
sdesmalen updated the diff for D84737: [AArch64][SVE] Preserve full vector regs over EH edge..
  • MIRParser now correctly marks registers as clobbered and added corresponding .mir test file.
  • Updated RUN lines of unwind-preserved.ll to test with/without global isel.
Aug 28 2020, 2:13 AM · Restricted Project

Aug 27 2020

sdesmalen updated the diff for D84737: [AArch64][SVE] Preserve full vector regs over EH edge..
  • Updated patch with option 2: Update the function-global state when we construct the landing pad instruction/node.
Aug 27 2020, 8:16 AM · Restricted Project
sdesmalen added inline comments to D86249: [llvm][CodeGen] Do not scalarize `llvm.masked.[gather|scatter]` operating on scalable vectors..
Aug 27 2020, 3:27 AM · Restricted Project
sdesmalen added a comment to D86101: [AArch64][SVE] Add missing debug info for ACLE types..

Thanks for the review!

Aug 27 2020, 2:58 AM · Restricted Project, Restricted Project
sdesmalen committed rG4e9b66de3f04: [AArch64][SVE] Add missing debug info for ACLE types. (authored by sdesmalen).
[AArch64][SVE] Add missing debug info for ACLE types.
Aug 27 2020, 2:57 AM
sdesmalen closed D86101: [AArch64][SVE] Add missing debug info for ACLE types..
Aug 27 2020, 2:57 AM · Restricted Project, Restricted Project

Aug 26 2020

sdesmalen added inline comments to D86101: [AArch64][SVE] Add missing debug info for ACLE types..
Aug 26 2020, 4:09 AM · Restricted Project, Restricted Project
sdesmalen updated the diff for D86101: [AArch64][SVE] Add missing debug info for ACLE types..
  • Choose unsigned char element type for svbool_t bitpattern.
  • Added LLVM test to ensure debug info for the vector type is correctly codegenerated when DISubrange has upper bound instead of count.
Aug 26 2020, 4:08 AM · Restricted Project, Restricted Project
sdesmalen added a comment to D86099: [AArch64][SVE] Fix calculation restore point for SVE callee saves..

Addressed review comments before committing.

Aug 26 2020, 2:08 AM · Restricted Project
sdesmalen committed rG5f47d4456d19: [AArch64][SVE] Fix calculation restore point for SVE callee saves. (authored by sdesmalen).
[AArch64][SVE] Fix calculation restore point for SVE callee saves.
Aug 26 2020, 2:07 AM
sdesmalen closed D86099: [AArch64][SVE] Fix calculation restore point for SVE callee saves..
Aug 26 2020, 2:07 AM · Restricted Project

Aug 19 2020

sdesmalen added inline comments to D86100: [Clang][SVE] NFC: Move info about ACLE types into separate function..
Aug 19 2020, 3:06 AM · Restricted Project
sdesmalen committed rG0353848cc94f: [Clang][SVE] NFC: Move info about ACLE types into separate function. (authored by sdesmalen).
[Clang][SVE] NFC: Move info about ACLE types into separate function.
Aug 19 2020, 3:06 AM
sdesmalen closed D86100: [Clang][SVE] NFC: Move info about ACLE types into separate function..
Aug 19 2020, 3:06 AM · Restricted Project

Aug 17 2020

sdesmalen requested review of D86101: [AArch64][SVE] Add missing debug info for ACLE types..
Aug 17 2020, 12:51 PM · Restricted Project, Restricted Project
sdesmalen requested review of D86100: [Clang][SVE] NFC: Move info about ACLE types into separate function..
Aug 17 2020, 12:47 PM · Restricted Project
sdesmalen added a comment to D84737: [AArch64][SVE] Preserve full vector regs over EH edge..

Thanks the update, the idea looks good in general.

Thanks for the feedback!

Aug 17 2020, 12:34 PM · Restricted Project
sdesmalen updated the diff for D84737: [AArch64][SVE] Preserve full vector regs over EH edge..
  • Made getCustomEHPadPreservedMask() return nullptr by default (meaning 'no clobbers')
  • Fixed missing callee saves/restores for clobbered registers.
  • Updated tests (and also added a RUN line for regalloc=fast)
Aug 17 2020, 12:22 PM · Restricted Project
sdesmalen requested review of D86099: [AArch64][SVE] Fix calculation restore point for SVE callee saves..
Aug 17 2020, 12:19 PM · Restricted Project

Aug 12 2020

sdesmalen updated the diff for D84737: [AArch64][SVE] Preserve full vector regs over EH edge..
  • Set clobber mask for EH pad block, instead of changing the CC of the call.
  • Rebased patch
Aug 12 2020, 4:27 AM · Restricted Project

Aug 5 2020

sdesmalen committed rGf2916636f83d: [AArch64][SVE] Disable tail calls if callee does not preserve SVE regs. (authored by sdesmalen).
[AArch64][SVE] Disable tail calls if callee does not preserve SVE regs.
Aug 5 2020, 1:40 AM
sdesmalen closed D84869: [AArch64][SVE] Disable tail calls if callee does not preserve SVE regs..
Aug 5 2020, 1:40 AM · Restricted Project

Aug 4 2020

sdesmalen accepted D85249: [SelectionDAG][SVE] Support scalable vectors in getConstantFP().

Nice, LGTM!

Aug 4 2020, 2:49 PM · Restricted Project
sdesmalen added inline comments to D84043: [AArch64][SVE] Fix CFA calculation in presence of SVE objects..
Aug 4 2020, 9:57 AM · Restricted Project
sdesmalen added a comment to D84043: [AArch64][SVE] Fix CFA calculation in presence of SVE objects..

Thanks for the reviews!

Aug 4 2020, 3:52 AM · Restricted Project
sdesmalen committed rGbb3344c7d8c2: [AArch64][SVE] Add missing unwind info for SVE registers. (authored by sdesmalen).
[AArch64][SVE] Add missing unwind info for SVE registers.
Aug 4 2020, 3:51 AM
sdesmalen committed rGfd6584a22043: [AArch64][SVE] Fix CFA calculation in presence of SVE objects. (authored by sdesmalen).
[AArch64][SVE] Fix CFA calculation in presence of SVE objects.
Aug 4 2020, 3:51 AM
sdesmalen closed D84044: [AArch64][SVE] Add missing unwind info for SVE registers..
Aug 4 2020, 3:51 AM · Restricted Project
sdesmalen closed D84043: [AArch64][SVE] Fix CFA calculation in presence of SVE objects..
Aug 4 2020, 3:51 AM · Restricted Project
sdesmalen added a comment to D83950: [CodeGen] In narrowExtractedVectorLoad bail out for scalable vectors.

LGTM, thanks!

Aug 4 2020, 1:03 AM · Restricted Project

Aug 2 2020

sdesmalen updated the diff for D84044: [AArch64][SVE] Add missing unwind info for SVE registers..

Rebased and added comment to .cfi_escape to describe CFI offset DWARF expression (like was added to D84043)

Aug 2 2020, 8:09 AM · Restricted Project
sdesmalen updated the diff for D84043: [AArch64][SVE] Fix CFA calculation in presence of SVE objects..

Added comment to .cfi_escape to describe CFA DWARF expression.

Aug 2 2020, 8:04 AM · Restricted Project

Jul 30 2020

sdesmalen updated the diff for D84869: [AArch64][SVE] Disable tail calls if callee does not preserve SVE regs..

Updated CallerCC to AArch64_SVE_VectorCall if the caller has an SVE signature.
The code that follows further on will automatically determine whether TCO can be usedby looking at the callee-saved regs preserved by the callee and caller (condition if (!CCMatch) { on line 4243)

Jul 30 2020, 1:40 AM · Restricted Project

Jul 29 2020

sdesmalen added a comment to D84043: [AArch64][SVE] Fix CFA calculation in presence of SVE objects..

Gentle ping because D84044 can't land without this patch :)

Jul 29 2020, 1:46 PM · Restricted Project