Page MenuHomePhabricator

SjoerdMeijer (Sjoerd Meijer)
User

Projects

User does not belong to any projects.

User Details

User Since
Jan 26 2016, 2:17 AM (186 w, 17 h)

Recent Activity

Fri, Aug 16

SjoerdMeijer accepted D66319: [ARM] Preserve liveness in ARMConstantIslands..

his block has live-ins; I just didn't copy-paste them in because listing them didn't seem useful.

Fri, Aug 16, 11:59 AM · Restricted Project

Thu, Aug 15

SjoerdMeijer added inline comments to D66319: [ARM] Preserve liveness in ARMConstantIslands..
Thu, Aug 15, 11:24 PM · Restricted Project
SjoerdMeijer added a comment to D66290: [clang] Pragma vectorize_width() implies vectorize(enable).

Thanks for looking again!
Good catch, feedback addressed.

Thu, Aug 15, 6:59 AM
SjoerdMeijer updated the diff for D66290: [clang] Pragma vectorize_width() implies vectorize(enable).
Thu, Aug 15, 6:59 AM
SjoerdMeijer created D66290: [clang] Pragma vectorize_width() implies vectorize(enable).
Thu, Aug 15, 6:12 AM
SjoerdMeijer committed rG90374f755721: [clang] Loop pragma parsing. NFC. (authored by SjoerdMeijer).
[clang] Loop pragma parsing. NFC.
Thu, Aug 15, 12:40 AM
SjoerdMeijer committed rL368976: [clang] Loop pragma parsing. NFC..
[clang] Loop pragma parsing. NFC.
Thu, Aug 15, 12:40 AM
SjoerdMeijer closed D64564: Loop pragma parsing. NFC..
Thu, Aug 15, 12:40 AM · Restricted Project
SjoerdMeijer accepted D66201: [ARM] MVE trunc to i1 vectors.

LGTM

Thu, Aug 15, 12:05 AM · Restricted Project

Wed, Aug 14

SjoerdMeijer accepted D66213: [ARM] MVE predicate store patterns..

LGTM

Wed, Aug 14, 11:56 PM · Restricted Project
SjoerdMeijer added a comment to D64564: Loop pragma parsing. NFC..

Thanks, and will fix your suggestions before committing.

Wed, Aug 14, 11:39 PM · Restricted Project
SjoerdMeijer accepted D66243: [ARM][LowOverheadLoops] Fix generated code for "revert"..

Thanks for fixing.

Wed, Aug 14, 11:25 PM · Restricted Project
SjoerdMeijer committed rG535efab2e533: [Clang] Pragma vectorize_predicate implies vectorize (authored by SjoerdMeijer).
[Clang] Pragma vectorize_predicate implies vectorize
Wed, Aug 14, 11:25 PM
SjoerdMeijer committed rL368970: [Clang] Pragma vectorize_predicate implies vectorize.
[Clang] Pragma vectorize_predicate implies vectorize
Wed, Aug 14, 11:23 PM
SjoerdMeijer closed D65776: [Clang] Pragma vectorize_predicate implies vectorize.
Wed, Aug 14, 11:23 PM · Restricted Project
SjoerdMeijer added a comment to D66199: [docs] loop pragmas.

Since this is user documentation, we should only add it here once it is true.

Wed, Aug 14, 10:43 AM
SjoerdMeijer updated the diff for D64564: Loop pragma parsing. NFC..

thanks for the suggestions; comments addressed.

Wed, Aug 14, 10:29 AM · Restricted Project

Tue, Aug 13

SjoerdMeijer created D66199: [docs] loop pragmas.
Tue, Aug 13, 11:30 PM
SjoerdMeijer added a comment to D64564: Loop pragma parsing. NFC..

Sorry, should have done my std::string, StringRef, and Twine homework a lot better!

Tue, Aug 13, 2:37 PM · Restricted Project
SjoerdMeijer added a comment to D65776: [Clang] Pragma vectorize_predicate implies vectorize.

Thanks for your help! And I will wait a few days.

Tue, Aug 13, 2:37 PM · Restricted Project
SjoerdMeijer added a comment to D65776: [Clang] Pragma vectorize_predicate implies vectorize.

thanks @Meinersbur and @fhahn for the discussions on this, also on the dev list.
It looks like we are happy with this behaviour?

Tue, Aug 13, 9:42 AM · Restricted Project
SjoerdMeijer added a comment to D64564: Loop pragma parsing. NFC..

this is not important at all, but might be nice clean up, so friendly ping :-)

Tue, Aug 13, 9:42 AM · Restricted Project
SjoerdMeijer accepted D66108: [LV] fold-tail flag.

Ah sorry, ignore me! I messed that up.

Tue, Aug 13, 2:59 AM · Restricted Project

Mon, Aug 12

SjoerdMeijer added a comment to D65884: [ARM] MVE Tail Predication.
In D65884#1621209, @SjoerdMeijer wrote:

Thinking out loud what the strategy could be so that we properly test the whole flow.....

I think it will be okay to land this when we can, it's disabled and the vectorizer won't be generating suitable input anyway. The finalisation can happen last and with no real rush - isel should still generate a valid > loop, the vctp instructions will be more efficient that doing the arithmetic with vectors in the loop. So really, isel for masked load/stores and the vctp is the next most important bit because then we at least run llc. > Then we can prod the vectorizer into generating masked loops and we can find all the bugs :)

Mon, Aug 12, 11:38 PM
SjoerdMeijer added inline comments to D66108: [LV] fold-tail flag.
Mon, Aug 12, 11:35 PM · Restricted Project

Thu, Aug 8

SjoerdMeijer accepted D63728: [ARM] Permit auto-vectorization using MVE.
Thu, Aug 8, 8:37 AM · Restricted Project
SjoerdMeijer added a comment to D63728: [ARM] Permit auto-vectorization using MVE.

OK. It's time. Lets do this.

Thu, Aug 8, 8:37 AM · Restricted Project
SjoerdMeijer added a comment to D65884: [ARM] MVE Tail Predication.

The overall plan is as follows:

  • Enable vectorizer.
  • Teach the vectorizer to produce a predicated loop, using a pragma and a target profitability hook. Think we also need to specify that we support masked load/store intrinsics too.
  • This pass converts some vector icmps to vctp intrinsics.
  • A bit of isel for vctp and final bits for other MVE instructions.
  • The loop is finalised in the LowOverheadLoop pass where we check for validity and remove the VCTP and VPST instructions, as well as their VPT blocks.
  • Beer.
Thu, Aug 8, 8:28 AM

Wed, Aug 7

SjoerdMeijer added a comment to D65884: [ARM] MVE Tail Predication.

Hi Sam, nice one!

Wed, Aug 7, 11:08 PM
SjoerdMeijer added a comment to D65776: [Clang] Pragma vectorize_predicate implies vectorize.

I do not know whether/how "setting a transformation option implicitly enables the transformation" should be implemented, maybe we should discuss this.

Wed, Aug 7, 12:29 AM · Restricted Project

Tue, Aug 6

SjoerdMeijer added a comment to D65776: [Clang] Pragma vectorize_predicate implies vectorize.

Hi Florian, thanks for your input!

Tue, Aug 6, 12:57 PM · Restricted Project

Mon, Aug 5

SjoerdMeijer added a comment to D65776: [Clang] Pragma vectorize_predicate implies vectorize.

Thanks for pointing this all out!

Mon, Aug 5, 10:24 PM · Restricted Project
SjoerdMeijer added a comment to D65776: [Clang] Pragma vectorize_predicate implies vectorize.

Forgot that this requires a doc change too. Will add that once we're happy with the proposed behaviour.

Mon, Aug 5, 2:44 PM · Restricted Project
SjoerdMeijer created D65776: [Clang] Pragma vectorize_predicate implies vectorize.
Mon, Aug 5, 2:21 PM · Restricted Project
SjoerdMeijer accepted D64805: [AArch64] Expand bcmp() for small comparisons.

Okay, cheers, looks reasonable to me.

Mon, Aug 5, 10:41 AM · Restricted Project
SjoerdMeijer added inline comments to D64805: [AArch64] Expand bcmp() for small comparisons.
Mon, Aug 5, 8:46 AM · Restricted Project
SjoerdMeijer added inline comments to D64805: [AArch64] Expand bcmp() for small comparisons.
Mon, Aug 5, 8:38 AM · Restricted Project
SjoerdMeijer accepted D63840: [ARM] Add support for MVE pre and post inc loads and stores..

Looks reasonable

Mon, Aug 5, 8:36 AM · Restricted Project
SjoerdMeijer added a comment to D64805: [AArch64] Expand bcmp() for small comparisons.

Still think regressions tests are missing, e.g. for code-size (see a previous comments).

Mon, Aug 5, 8:22 AM · Restricted Project

Thu, Aug 1

SjoerdMeijer updated the diff for D64564: Loop pragma parsing. NFC..

Fixed the string problems.

Thu, Aug 1, 12:13 PM · Restricted Project
SjoerdMeijer committed rGe0dfce072399: Follow up of rL367592, fix the build (authored by SjoerdMeijer).
Follow up of rL367592, fix the build
Thu, Aug 1, 11:55 AM
SjoerdMeijer committed rL367603: Follow up of rL367592, fix the build.
Follow up of rL367592, fix the build
Thu, Aug 1, 11:54 AM
SjoerdMeijer committed rG20b198ec5ea7: [LV] Tail-Loop Folding (authored by SjoerdMeijer).
[LV] Tail-Loop Folding
Thu, Aug 1, 11:24 AM
SjoerdMeijer committed rL367592: [LV] Tail-Loop Folding.
[LV] Tail-Loop Folding
Thu, Aug 1, 11:24 AM
SjoerdMeijer closed D65197: [LV] Tail-loop Folding.
Thu, Aug 1, 11:24 AM · Restricted Project
SjoerdMeijer added a comment to D65197: [LV] Tail-loop Folding.

Many thanks for all your help and reviews!

Thu, Aug 1, 11:18 AM · Restricted Project

Tue, Jul 30

SjoerdMeijer added inline comments to D64564: Loop pragma parsing. NFC..
Tue, Jul 30, 11:16 AM · Restricted Project
SjoerdMeijer added a comment to D65197: [LV] Tail-loop Folding.

Sorry for asking, @hsaito , but I was just wondering and wanted to check if your last comment was in fact a LGTM with a minor nit.

Tue, Jul 30, 11:16 AM · Restricted Project

Mon, Jul 29

SjoerdMeijer updated the diff for D65197: [LV] Tail-loop Folding.

Thanks for taking another look!

Mon, Jul 29, 1:43 PM · Restricted Project
SjoerdMeijer added a comment to D65197: [LV] Tail-loop Folding.

Friendly ping :-)

Mon, Jul 29, 11:52 AM · Restricted Project

Fri, Jul 26

SjoerdMeijer accepted D65327: [AArch64][SVE2] Rename bitperm feature to sve2-bitperm.

Looks like a straightforward fix to me

Fri, Jul 26, 5:24 AM · Restricted Project
SjoerdMeijer updated the diff for D65197: [LV] Tail-loop Folding.

ran clang-format.

Fri, Jul 26, 5:20 AM · Restricted Project
SjoerdMeijer added inline comments to D63840: [ARM] Add support for MVE pre and post inc loads and stores..
Fri, Jul 26, 1:27 AM · Restricted Project
SjoerdMeijer accepted D65103: [ARM] Better patterns for fp <> predicate vectors.

LGTM

Fri, Jul 26, 1:02 AM · Restricted Project
SjoerdMeijer added inline comments to D65268: [ARM][LowOverheadLoops] Revert non-header LE target.
Fri, Jul 26, 12:33 AM · Restricted Project
SjoerdMeijer accepted D65277: [ARM][LowOverheadLoops] Enable by default.

Yep, sounds good, let's go for it.

Fri, Jul 26, 12:17 AM · Restricted Project

Thu, Jul 25

SjoerdMeijer updated the diff for D65197: [LV] Tail-loop Folding.

I've moved the test case to the X86 subfolder and removed the ASSERT.

Thu, Jul 25, 7:02 AM · Restricted Project
SjoerdMeijer accepted D65275: [ARM][LowOverheadLoops] Add CPSR defs.

Looks like a sensible fix to me, just one question/nit inline.

Thu, Jul 25, 6:01 AM · Restricted Project
SjoerdMeijer updated the diff for D65197: [LV] Tail-loop Folding.

I think I've addressed all comments, the main ones are:

  • I've moved the loop hint handling to LoopVectorizationLegality.cpp
  • I've renamed ScalarEpilogueNotNeededPredicatePragma
  • and finally created a helper function to avoid some code duplication that has been bothering me for a while
Thu, Jul 25, 5:35 AM · Restricted Project
SjoerdMeijer added a comment to D65197: [LV] Tail-loop Folding.

Thanks for taking a look at this!

Thu, Jul 25, 3:52 AM · Restricted Project
SjoerdMeijer added a comment to D65197: [LV] Tail-loop Folding.

We probably need to discuss whether vectorize_predicate(enable) should (or should not) implicitly turns on vectorize(enable) or not. I guess the current behavior is "does not", right? We don't have to discuss that in this review, but we still want to make a conscious decision one way or the other, or did I miss that discussion?

Thu, Jul 25, 1:40 AM · Restricted Project
SjoerdMeijer committed rG5c606cef796e: [LV] Scalar Epilogue Lowering. NFC. (authored by SjoerdMeijer).
[LV] Scalar Epilogue Lowering. NFC.
Thu, Jul 25, 1:11 AM
SjoerdMeijer committed rL366993: [LV] Scalar Epilogue Lowering. NFC..
[LV] Scalar Epilogue Lowering. NFC.
Thu, Jul 25, 1:05 AM
SjoerdMeijer closed D64916: [LV] Scalar Epilogue Lowering. NFC..
Thu, Jul 25, 1:05 AM · Restricted Project
SjoerdMeijer committed rGa48f58c97fec: [Clang] New loop pragma vectorize_predicate (authored by SjoerdMeijer).
[Clang] New loop pragma vectorize_predicate
Thu, Jul 25, 12:35 AM
SjoerdMeijer committed rL366989: [Clang] New loop pragma vectorize_predicate.
[Clang] New loop pragma vectorize_predicate
Thu, Jul 25, 12:34 AM
SjoerdMeijer closed D64744: #pragma clang loop vectorize_predicate(enable|disable).
Thu, Jul 25, 12:34 AM · Restricted Project
SjoerdMeijer added a comment to D64744: #pragma clang loop vectorize_predicate(enable|disable).

Many thanks for reviewing!

Thu, Jul 25, 12:31 AM · Restricted Project

Wed, Jul 24

SjoerdMeijer updated the diff for D64916: [LV] Scalar Epilogue Lowering. NFC..

Many thanks for reviewing, very much appreciated!

Wed, Jul 24, 12:03 PM · Restricted Project
SjoerdMeijer added a comment to D65197: [LV] Tail-loop Folding.

Ha, that's funny, because before noticing these comments here, I was just doing a test commit (366904) with the github monorepo workflow.
With the discussion on the dev list that the transition date is near, and just following the public documentation in https://llvm.org/docs/GettingStarted.html, it really looks like I committed to the clang and llvm repo at the same time using the git llvm push script from a local git monorepo. I was of course aware of separating clang and llvm patches, but again, thought that this new workflow is fully accepted/supported.

Wed, Jul 24, 7:41 AM · Restricted Project
SjoerdMeijer committed rGa19f5a76e6ad: Test commit. NFC. (authored by SjoerdMeijer).
Test commit. NFC.
Wed, Jul 24, 6:32 AM
SjoerdMeijer committed rL366904: Test commit. NFC..
Test commit. NFC.
Wed, Jul 24, 6:32 AM
SjoerdMeijer added a comment to D65197: [LV] Tail-loop Folding.

Hi Michael, thanks for taking a look again!

Wed, Jul 24, 6:23 AM · Restricted Project
SjoerdMeijer updated subscribers of D65197: [LV] Tail-loop Folding.
Wed, Jul 24, 5:04 AM · Restricted Project
SjoerdMeijer created D65197: [LV] Tail-loop Folding.
Wed, Jul 24, 3:57 AM · Restricted Project
SjoerdMeijer added a child revision for D64744: #pragma clang loop vectorize_predicate(enable|disable): D65197: [LV] Tail-loop Folding.
Wed, Jul 24, 3:57 AM · Restricted Project
SjoerdMeijer accepted D65193: [ARM][ParallelDSP] Fix pointer operand reordering.

Looks like a good fix to me

Wed, Jul 24, 1:56 AM · Restricted Project

Tue, Jul 23

SjoerdMeijer added a comment to D64744: #pragma clang loop vectorize_predicate(enable|disable).

Apologies for the early ping! Bu I'm off next weeks, so it would be nice to get this in before that if there are no further comments.
Tomorrow, I will upload another diff that builds on top D64916, which enables code-generation with tail loops folded, thus also demonstrating an end to end test.

Tue, Jul 23, 2:32 PM · Restricted Project
SjoerdMeijer accepted D65051: [ARM] MVE integer compares and selects.

Looks reasonable to me.

Tue, Jul 23, 2:23 PM · Restricted Project
SjoerdMeijer added inline comments to D64616: [ARM][LowOverheadLoops] Fix branch target codegen.
Tue, Jul 23, 7:09 AM · Restricted Project
SjoerdMeijer accepted D64616: [ARM][LowOverheadLoops] Fix branch target codegen.

looks good to me to, just some nits inline.

Tue, Jul 23, 6:29 AM · Restricted Project
SjoerdMeijer accepted D65052: [ARM] MVE predicate register support.

This all looks very reasonable to me. I am happy with this if @samparker is happy too.

Tue, Jul 23, 5:18 AM · Restricted Project

Mon, Jul 22

SjoerdMeijer added inline comments to D65052: [ARM] MVE predicate register support.
Mon, Jul 22, 11:53 PM · Restricted Project
SjoerdMeijer added a comment to D65052: [ARM] MVE predicate register support.

Just a first scan, I will look more closely tomorrow.

Mon, Jul 22, 9:11 AM · Restricted Project
SjoerdMeijer updated the diff for D64744: #pragma clang loop vectorize_predicate(enable|disable).

More doc changes added to AttrDocs.td and LangRef.rst

Mon, Jul 22, 7:26 AM · Restricted Project
SjoerdMeijer updated the diff for D64916: [LV] Scalar Epilogue Lowering. NFC..

Thanks for the suggestion: I have generalized isScalarEpilogueAllowed by introducing an enum to model different reasons why it might be allowed or not.

Mon, Jul 22, 7:06 AM · Restricted Project
SjoerdMeijer added reviewers for D64744: #pragma clang loop vectorize_predicate(enable|disable): Meinersbur, dmgreen, rscottmanley, aaron.ballman.
Mon, Jul 22, 6:18 AM · Restricted Project
SjoerdMeijer added a comment to D64744: #pragma clang loop vectorize_predicate(enable|disable).

Is it intentional that this review has no reviewers listed (like, is this a work in progress you don't expect review on yet)?

Mon, Jul 22, 6:07 AM · Restricted Project
SjoerdMeijer accepted D65059: [ARM] Better OR's for MVE compares.

LGTM

Mon, Jul 22, 5:03 AM · Restricted Project
SjoerdMeijer updated the diff for D64744: #pragma clang loop vectorize_predicate(enable|disable).
  • Moved the codegen test to a separate file
  • Added a langref description for this new metadata node.
Mon, Jul 22, 3:21 AM · Restricted Project
SjoerdMeijer accepted D65062: [ARM] More MVE compare vector splat combines for AND's.

looks okay to me.

Mon, Jul 22, 1:04 AM · Restricted Project
SjoerdMeijer accepted D65061: [ARM] MVE compare vector splat combine.

LGTM

Mon, Jul 22, 1:04 AM · Restricted Project
SjoerdMeijer added inline comments to D65059: [ARM] Better OR's for MVE compares.
Mon, Jul 22, 12:58 AM · Restricted Project
SjoerdMeijer accepted D65058: [ARM] Better AND's for MVE compares.

Looks like a good optimisation to me.

Mon, Jul 22, 12:50 AM · Restricted Project
SjoerdMeijer accepted D65053: [ARM] Basic And/Or/Xor handling for MVE predicates.

looks reasonable

Mon, Jul 22, 12:50 AM · Restricted Project
SjoerdMeijer accepted D65049: [ARM] Fix for MVE VPT block pass.

Thanks for fixing this.

Mon, Jul 22, 12:39 AM · Restricted Project

Jul 19 2019

SjoerdMeijer updated the diff for D64744: #pragma clang loop vectorize_predicate(enable|disable).

Removed the separate function that created the loop.llvm.vectorize.predicate metadata. This is now just part of function createLoopVectorizeMetadata, that creates all other vectorize metadata.

Jul 19 2019, 9:50 AM · Restricted Project
SjoerdMeijer updated the diff for D64916: [LV] Scalar Epilogue Lowering. NFC..

Feedback addressed. Thanks for taking a look!

Jul 19 2019, 3:19 AM · Restricted Project
SjoerdMeijer updated the diff for D64744: #pragma clang loop vectorize_predicate(enable|disable).

Hi Michael, thanks for taking a look again!

Jul 19 2019, 2:02 AM · Restricted Project
SjoerdMeijer accepted D64929: Don't update NoTrappingFPMath and FPDenormalMode in resetTargetOptions.

I agree with this:

Jul 19 2019, 1:10 AM · Restricted Project