Page MenuHomePhabricator
Feed Advanced Search

Sep 22 2020

SjoerdMeijer accepted D87681: [ARM] Improve VPT predicate tracking.

Thanks, nice one.

Sep 22 2020, 2:34 AM · Restricted Project

Sep 21 2020

SjoerdMeijer added a comment to D46884: [AArch64] Cortex-A55 scheduler model.

@SjoerdMeijer

sounds like you've got your environment all setup. Would it be easy for you to quickly test the changes that you suggested earlier?

Sorry, I'm involved in slightly different activity atm. Will do whenever I can.

Sep 21 2020, 12:31 PM · Restricted Project
SjoerdMeijer updated the diff for D88017: [AArch64] Enable Cortex-A55 schedmodel.
  • pruned the test case, added comments for the different instruction categories to make the test more readable,
  • fixed latencies for the FDIV and FSQRT instructions,
  • regarding @evgeny777 's comment "WriteLD should be 3 cycles, not 4". I have kept it as it was, because in a first benchmark run I tried this regressed things a bit.
Sep 21 2020, 12:29 PM · Restricted Project
SjoerdMeijer added a comment to D46884: [AArch64] Cortex-A55 scheduler model.

FYI: I have created https://reviews.llvm.org/D88017 to enable the model.
I will now look at the optimisation guide, correct the obvious mistakes, and create a diff for that, unless @evgeny777 you get there first, let me know.

Sep 21 2020, 4:15 AM · Restricted Project
SjoerdMeijer requested review of D88017: [AArch64] Enable Cortex-A55 schedmodel.
Sep 21 2020, 4:12 AM · Restricted Project
SjoerdMeijer added a comment to D46884: [AArch64] Cortex-A55 scheduler model.

I have committed a first version that we can now iterate on; it is not enabled/used yet.

Sep 21 2020, 2:59 AM · Restricted Project
SjoerdMeijer committed rG4b8ade837e36: [AArch64] Cortex-A55 scheduler model (authored by SjoerdMeijer).
[AArch64] Cortex-A55 scheduler model
Sep 21 2020, 2:55 AM
SjoerdMeijer closed D46884: [AArch64] Cortex-A55 scheduler model.
Sep 21 2020, 2:55 AM · Restricted Project
SjoerdMeijer added a comment to D46884: [AArch64] Cortex-A55 scheduler model.

We could perhaps commit it without enabling it to begin with.

Sep 21 2020, 1:11 AM · Restricted Project
SjoerdMeijer added a comment to D46884: [AArch64] Cortex-A55 scheduler model.

@evgeny777 : how about we commit this to have a baseline that we iterate on?

Sep 21 2020, 12:43 AM · Restricted Project

Sep 17 2020

SjoerdMeijer added inline comments to D86074: [ARM][MVE] Tail-predication: check get.active.lane.mask's TC value.
Sep 17 2020, 7:15 AM · Restricted Project
SjoerdMeijer added inline comments to D87681: [ARM] Improve VPT predicate tracking.
Sep 17 2020, 5:36 AM · Restricted Project
SjoerdMeijer committed rG6637d72ddd3c: [Lint] Add check for intrinsic get.active.lane.mask (authored by SjoerdMeijer).
[Lint] Add check for intrinsic get.active.lane.mask
Sep 17 2020, 1:22 AM
SjoerdMeijer closed D87228: [Lint] Add check for intrinsic get.active.lane.mask.
Sep 17 2020, 1:22 AM · Restricted Project

Sep 16 2020

SjoerdMeijer updated the summary of D87769: [ARM][MVE] tail-predication: predicate new checks on force-enabled option.
Sep 16 2020, 9:12 AM · Restricted Project
SjoerdMeijer committed rGb5c3efeb7bc9: [ARM][MVE] Tail-predication: predicate new elementcount checks on force-enabled (authored by SjoerdMeijer).
[ARM][MVE] Tail-predication: predicate new elementcount checks on force-enabled
Sep 16 2020, 9:06 AM
SjoerdMeijer closed D87769: [ARM][MVE] tail-predication: predicate new checks on force-enabled option.
Sep 16 2020, 9:05 AM · Restricted Project
SjoerdMeijer updated the diff for D87769: [ARM][MVE] tail-predication: predicate new checks on force-enabled option.

Thanks Dave, just for completeness, uploading a new diff with the codegen changes gone, which shouldn't have been there.

Sep 16 2020, 8:59 AM · Restricted Project
SjoerdMeijer requested review of D87769: [ARM][MVE] tail-predication: predicate new checks on force-enabled option.
Sep 16 2020, 8:44 AM · Restricted Project
SjoerdMeijer accepted D87751: [RDA] Fix getUniqueReachingDef for self loops.

Cheers, LGTM

Sep 16 2020, 4:39 AM · Restricted Project
SjoerdMeijer added inline comments to D87751: [RDA] Fix getUniqueReachingDef for self loops.
Sep 16 2020, 4:05 AM · Restricted Project
SjoerdMeijer accepted D87610: [ARM] Fix tail predication predicate tracking.

Thanks for that. There was a lot going on before, but this now looks like a small, nice change.

Sep 16 2020, 3:55 AM · Restricted Project
SjoerdMeijer accepted D87753: [ARM] Add more validForTailPredication.

Looks reasonable

Sep 16 2020, 3:48 AM · Restricted Project
SjoerdMeijer committed rGcb1ef0eaff87: Follow up rG635b87511ec3: forgot to add/commit the new test file. NFC. (authored by SjoerdMeijer).
Follow up rG635b87511ec3: forgot to add/commit the new test file. NFC.
Sep 16 2020, 1:39 AM
SjoerdMeijer added a comment to D82678: [CGP] Set debug locations when optimizing phi types.

I am also not a debug expert, but this looks like an "innocent" patch to me that makes things a bit better, so that's good. What I am wondering about though why setDebugLoc isn't done in the constructor, which makes the code cleaner here and also it won't be forgotten. But I don't want to make this bigger than it is, and since I have never really looked into debug info, I also don't know if there would be any disadvantages doing that. Perhaps others can comment on that.

Sep 16 2020, 1:13 AM · debug-info, Restricted Project
SjoerdMeijer added a comment to D87610: [ARM] Fix tail predication predicate tracking.

I understood there is a NFC and non-NFC part of this patch. Is worth separating this out?

Sep 16 2020, 12:52 AM · Restricted Project

Sep 15 2020

SjoerdMeijer committed rG635b87511ec3: [ARM][MVE] Tail-predication: use unsigned SCEV ranges for tripcount (authored by SjoerdMeijer).
[ARM][MVE] Tail-predication: use unsigned SCEV ranges for tripcount
Sep 15 2020, 5:23 AM
SjoerdMeijer closed D87608: [ARM][MVE] Tail-predication: use unsigned SCEV ranges for tripcount.
Sep 15 2020, 5:23 AM · Restricted Project
SjoerdMeijer committed rGb4b1b84106a0: [MVE] fix typo in llvm debug message. NFC. (authored by SjoerdMeijer).
[MVE] fix typo in llvm debug message. NFC.
Sep 15 2020, 2:14 AM
SjoerdMeijer committed rG487412988cea: [MVE] Rename of tests making them consistent with tail-predication tests. NFC. (authored by SjoerdMeijer).
[MVE] Rename of tests making them consistent with tail-predication tests. NFC.
Sep 15 2020, 1:25 AM
SjoerdMeijer added a comment to D87228: [Lint] Add check for intrinsic get.active.lane.mask.

Little non-urgent ping, but would be nice to get this little guy out of the way.

Sep 15 2020, 12:37 AM · Restricted Project

Sep 14 2020

SjoerdMeijer added inline comments to D86074: [ARM][MVE] Tail-predication: check get.active.lane.mask's TC value.
Sep 14 2020, 3:55 PM · Restricted Project
SjoerdMeijer added inline comments to D86074: [ARM][MVE] Tail-predication: check get.active.lane.mask's TC value.
Sep 14 2020, 2:15 PM · Restricted Project
SjoerdMeijer updated the diff for D87608: [ARM][MVE] Tail-predication: use unsigned SCEV ranges for tripcount.

test case clean up.

Sep 14 2020, 6:11 AM · Restricted Project
SjoerdMeijer requested review of D87608: [ARM][MVE] Tail-predication: use unsigned SCEV ranges for tripcount.
Sep 14 2020, 6:07 AM · Restricted Project
SjoerdMeijer committed rG676febc044ec: [ARM][MVE] Tail-predication: check get.active.lane.mask's TC value (authored by SjoerdMeijer).
[ARM][MVE] Tail-predication: check get.active.lane.mask's TC value
Sep 14 2020, 3:32 AM
SjoerdMeijer closed D86074: [ARM][MVE] Tail-predication: check get.active.lane.mask's TC value.
Sep 14 2020, 3:32 AM · Restricted Project
SjoerdMeijer added a comment to D86074: [ARM][MVE] Tail-predication: check get.active.lane.mask's TC value.

Thanks for that, and agreed with your remarks. I think this is already a bit more generic/flexible and thus better than what we had, but certainly isn't fully generic. I am willing to review this once that becomes important. Then, this logic has to be moved to Scalarevolution and be made generic.

Sep 14 2020, 2:54 AM · Restricted Project

Sep 10 2020

SjoerdMeijer added inline comments to D46884: [AArch64] Cortex-A55 scheduler model.
Sep 10 2020, 10:48 AM · Restricted Project
SjoerdMeijer updated the diff for D86074: [ARM][MVE] Tail-predication: check get.active.lane.mask's TC value.

Cheers, comments addressed.

Sep 10 2020, 5:40 AM · Restricted Project

Sep 9 2020

SjoerdMeijer added inline comments to D86074: [ARM][MVE] Tail-predication: check get.active.lane.mask's TC value.
Sep 9 2020, 7:47 AM · Restricted Project
SjoerdMeijer updated the diff for D86074: [ARM][MVE] Tail-predication: check get.active.lane.mask's TC value.

This is a (partial) rewrite of the patch after we changed the semantics of get.active.lane.mask to accept the loop tripcount as its second argument, and not the backedge-taken count. This now implements several checks to see if the tripcount belongs to this loop.

Sep 9 2020, 7:38 AM · Restricted Project
SjoerdMeijer committed rG8cb8cea1bd7f: [ARM] Fixup of a few test cases. NFC. (authored by SjoerdMeijer).
[ARM] Fixup of a few test cases. NFC.
Sep 9 2020, 3:16 AM

Sep 8 2020

SjoerdMeijer accepted D87280: [ARM] Try to rematerialize VCTP instructions.

Rebased after pre-committing the test, of which I've changed the function name too.

Sep 8 2020, 6:58 AM · Restricted Project
SjoerdMeijer added inline comments to D87280: [ARM] Try to rematerialize VCTP instructions.
Sep 8 2020, 5:43 AM · Restricted Project

Sep 7 2020

SjoerdMeijer added inline comments to D86784: [ARM] Skip combining base updates for vld1x NEON intrinsics.
Sep 7 2020, 7:21 AM · Restricted Project
SjoerdMeijer committed rG288c582fc939: Follow up of rG5f1cad4d296a, slightly reduced test case. NFC. (authored by SjoerdMeijer).
Follow up of rG5f1cad4d296a, slightly reduced test case. NFC.
Sep 7 2020, 7:12 AM
SjoerdMeijer added a comment to D75512: [LoopVectorizer][ARM] Add preferInloopReduction target hook..

There are some tests for 64bit reductions. We will probably want to enable inloop reductions for them in the future too, as we have the instructions. That will require a lot of costmodel improvements though.

Sep 7 2020, 3:21 AM · Restricted Project
SjoerdMeijer updated the diff for D87228: [Lint] Add check for intrinsic get.active.lane.mask.

Updated test

Sep 7 2020, 2:39 AM · Restricted Project
SjoerdMeijer requested review of D87228: [Lint] Add check for intrinsic get.active.lane.mask.
Sep 7 2020, 2:34 AM · Restricted Project
SjoerdMeijer accepted D86525: [ARM][CostModel] CodeSize costs for i1 arith ops.
Sep 7 2020, 1:24 AM · Restricted Project
SjoerdMeijer added inline comments to D86525: [ARM][CostModel] CodeSize costs for i1 arith ops.
Sep 7 2020, 1:16 AM · Restricted Project
SjoerdMeijer added a comment to D86147: [LangRef] Revise semantics of get.active.lane.mask.

Hi Luke, thanks for sharing your thoughts. I agree with your analysis. The in-tree vector extension that I am aware of that supports first faulting loads is Arm's SVE. While I work on Arm's MVE, I hope and think this is useful for SVE (and other targets) too, i.e. I think ffirst mask capability can be used. But since the devil is in the details here, an implementation would need to prove this. Hopefully that happens soon.

Sep 7 2020, 12:42 AM · Restricted Project
SjoerdMeijer accepted D75512: [LoopVectorizer][ARM] Add preferInloopReduction target hook..

Looks good to me.

Sep 7 2020, 12:27 AM · Restricted Project

Aug 28 2020

SjoerdMeijer committed rG5f1cad4d296a: [ARM] Skip combining base updates for vld1x NEON intrinsics (authored by SjoerdMeijer).
[ARM] Skip combining base updates for vld1x NEON intrinsics
Aug 28 2020, 12:32 PM
SjoerdMeijer closed D86784: [ARM] Skip combining base updates for vld1x NEON intrinsics.
Aug 28 2020, 12:31 PM · Restricted Project
SjoerdMeijer added inline comments to D86784: [ARM] Skip combining base updates for vld1x NEON intrinsics.
Aug 28 2020, 12:26 PM · Restricted Project
SjoerdMeijer requested review of D86784: [ARM] Skip combining base updates for vld1x NEON intrinsics.
Aug 28 2020, 7:01 AM · Restricted Project
SjoerdMeijer added a comment to D86776: [ARM]{MVE] Enable MVE gathers and scatters by default.

Before we flip the switch, can you give an impression of the performance impact of this? Does this not regress cases, is it overall a win, etc.?

Aug 28 2020, 5:33 AM · Restricted Project
SjoerdMeijer accepted D86613: [ARM][LowOverheadLoops] Liveouts and reductions.

LGTM

Aug 28 2020, 12:25 AM · Restricted Project

Aug 27 2020

SjoerdMeijer added inline comments to D86613: [ARM][LowOverheadLoops] Liveouts and reductions.
Aug 27 2020, 6:50 AM · Restricted Project
SjoerdMeijer added a comment to D86702: [ARM] Fold predicate_cast(load) into vldr p0.

Sorry for kind of asking the usual testing question....but was curious if there's a negative test with a pattern where its condition isn't met, so alignment < 4, if that makes sense.

Aug 27 2020, 6:38 AM · Restricted Project
SjoerdMeijer added a comment to D86301: [Verifier] Additional check for get.active.lane.mask.

Ah yes, thanks Eli!
This is reverted in rG1d8af682ef1d, and I will move this to Lint.

Aug 27 2020, 3:06 AM · Restricted Project
SjoerdMeijer committed rGff6dbb231923: Follow up of rGca243b07276a: fixed a typo. NFC. (authored by SjoerdMeijer).
Follow up of rGca243b07276a: fixed a typo. NFC.
Aug 27 2020, 2:54 AM
SjoerdMeijer added a reverting change for rG8d5f64c4edbc: [Verifier] Additional check for intrinsic get.active.lane.mask: rG1d8af682ef1d: Revert "[Verifier] Additional check for intrinsic get.active.lane.mask".
Aug 27 2020, 1:28 AM
SjoerdMeijer committed rG1d8af682ef1d: Revert "[Verifier] Additional check for intrinsic get.active.lane.mask" (authored by SjoerdMeijer).
Revert "[Verifier] Additional check for intrinsic get.active.lane.mask"
Aug 27 2020, 1:28 AM
SjoerdMeijer added a reverting change for D86301: [Verifier] Additional check for get.active.lane.mask: rG1d8af682ef1d: Revert "[Verifier] Additional check for intrinsic get.active.lane.mask".
Aug 27 2020, 1:28 AM · Restricted Project
SjoerdMeijer committed rGca243b07276a: [LangRef] get.active.lane.mask can produce poison value (authored by SjoerdMeijer).
[LangRef] get.active.lane.mask can produce poison value
Aug 27 2020, 12:58 AM
SjoerdMeijer closed D86637: [LangRef] get.active.lane.mask can produce poison.
Aug 27 2020, 12:58 AM · Restricted Project

Aug 26 2020

SjoerdMeijer accepted D86646: [llvm] [Thumb2] Test unusual length for active lane mask.

Thanks!

Aug 26 2020, 11:07 AM · Restricted Project
SjoerdMeijer requested review of D86637: [LangRef] get.active.lane.mask can produce poison.
Aug 26 2020, 9:33 AM · Restricted Project
SjoerdMeijer committed rGbda8fbe2d2af: [LV] Fallback strategies if tail-folding fails (authored by SjoerdMeijer).
[LV] Fallback strategies if tail-folding fails
Aug 26 2020, 8:58 AM
SjoerdMeijer closed D79783: [LV] Fallback strategies if tail-folding fails.
Aug 26 2020, 8:58 AM · Restricted Project
SjoerdMeijer added a comment to D86613: [ARM][LowOverheadLoops] Liveouts and reductions.

That's good amount of red/deletions!
Read this for the first time, and looks very reasonable. I have one question inline for now while I go over this again.

Aug 26 2020, 8:33 AM · Restricted Project
SjoerdMeijer added a comment to D79783: [LV] Fallback strategies if tail-folding fails.

Thanks Dave, I will fix the spelling before committing.

Aug 26 2020, 6:57 AM · Restricted Project
SjoerdMeijer added a comment to D86607: [RDA] Don't visit the BB of the instruction in getUniqueReachingMIDef.

I was just writing that I understood that creating a test for this one was very difficult? I.e., creating a small test case, was that this case? Looks like Sam has one now......should it not be part of this change? But anyway, it's fine I guess.

Aug 26 2020, 3:37 AM · Restricted Project
SjoerdMeijer added a comment to D86585: [llvm] [DAG] Fix bug in llvm.get.active.lane.mask lowering.

One minor addition, this change is now tested for X86, but I thought it wouldn't do any harm to test this for ARM too. If you can and want to touch the ARM backend test, I wouldn't mind if you e.g. add test @create_mask7 to llvm/test/CodeGen/Thumb2/active_lane_mask.ll, otherwise I will just add that once this lands.

Aug 26 2020, 2:02 AM · Restricted Project
SjoerdMeijer accepted D86585: [llvm] [DAG] Fix bug in llvm.get.active.lane.mask lowering.

LGTM. Thanks for fixing this.

Aug 26 2020, 1:26 AM · Restricted Project
SjoerdMeijer added a comment to D86301: [Verifier] Additional check for get.active.lane.mask.

This check isn't appropriate. Given that the second argument to @llvm.get.active.lane.mask.v4i1.i32 is a variable, in general, it isn't appropriate to print an error in cases where we can prove the value is 0. You can add a Lint check if you want.

Aug 26 2020, 12:57 AM · Restricted Project

Aug 25 2020

SjoerdMeijer committed rG2002bb487898: [LangRef] Revise semantics of intrinsic get.active.lane.mask (authored by SjoerdMeijer).
[LangRef] Revise semantics of intrinsic get.active.lane.mask
Aug 25 2020, 8:24 AM
SjoerdMeijer closed D86147: [LangRef] Revise semantics of get.active.lane.mask.
Aug 25 2020, 8:24 AM · Restricted Project
SjoerdMeijer committed rG8d5f64c4edbc: [Verifier] Additional check for intrinsic get.active.lane.mask (authored by SjoerdMeijer).
[Verifier] Additional check for intrinsic get.active.lane.mask
Aug 25 2020, 7:45 AM
SjoerdMeijer closed D86301: [Verifier] Additional check for get.active.lane.mask.
Aug 25 2020, 7:45 AM · Restricted Project
SjoerdMeijer committed rG39522b1e1042: [SelectionDAG] Legalize intrinsic get.active.lane.mask (authored by SjoerdMeijer).
[SelectionDAG] Legalize intrinsic get.active.lane.mask
Aug 25 2020, 7:01 AM
SjoerdMeijer closed D86302: [SelectionDAG] Modify legalizing intrinsic get.active.lane.mask.
Aug 25 2020, 7:01 AM · Restricted Project
SjoerdMeijer committed rGc352e7fbda2f: [ARM][MVE] Tail-predication: remove the BTC + 1 overflow checks (authored by SjoerdMeijer).
[ARM][MVE] Tail-predication: remove the BTC + 1 overflow checks
Aug 25 2020, 6:38 AM
SjoerdMeijer closed D86303: [ARM][MVE] Tail-predication: remove the BTC + 1 overflow checks.
Aug 25 2020, 6:38 AM · Restricted Project
SjoerdMeijer committed rGae366479e8c6: [LV] get.active.lane.mask consuming tripcount instead of backedge-taken count (authored by SjoerdMeijer).
[LV] get.active.lane.mask consuming tripcount instead of backedge-taken count
Aug 25 2020, 5:52 AM
SjoerdMeijer closed D86304: [LV] get.active.lane.mask consuming/emitting TripCount instead of backedge-taken count.
Aug 25 2020, 5:52 AM · Restricted Project
SjoerdMeijer updated the diff for D86301: [Verifier] Additional check for get.active.lane.mask.

Cheers, that's indeed a bit shorter.

Aug 25 2020, 1:53 AM · Restricted Project
SjoerdMeijer updated the diff for D86147: [LangRef] Revise semantics of get.active.lane.mask.

Thanks for catching that.
(weird, thought I had fixed that, but cheers)

Aug 25 2020, 1:17 AM · Restricted Project
SjoerdMeijer added inline comments to D86301: [Verifier] Additional check for get.active.lane.mask.
Aug 25 2020, 12:48 AM · Restricted Project
SjoerdMeijer added inline comments to D86301: [Verifier] Additional check for get.active.lane.mask.
Aug 25 2020, 12:36 AM · Restricted Project

Aug 24 2020

SjoerdMeijer updated the diff for D86303: [ARM][MVE] Tail-predication: remove the BTC + 1 overflow checks.

Addressed comments

Aug 24 2020, 7:16 AM · Restricted Project
SjoerdMeijer added inline comments to D86303: [ARM][MVE] Tail-predication: remove the BTC + 1 overflow checks.
Aug 24 2020, 7:04 AM · Restricted Project
SjoerdMeijer added inline comments to D86303: [ARM][MVE] Tail-predication: remove the BTC + 1 overflow checks.
Aug 24 2020, 6:30 AM · Restricted Project
SjoerdMeijer updated the diff for D86304: [LV] get.active.lane.mask consuming/emitting TripCount instead of backedge-taken count.

Comments addressed.

Aug 24 2020, 6:00 AM · Restricted Project
SjoerdMeijer added inline comments to D86304: [LV] get.active.lane.mask consuming/emitting TripCount instead of backedge-taken count.
Aug 24 2020, 5:22 AM · Restricted Project
SjoerdMeijer updated the diff for D86301: [Verifier] Additional check for get.active.lane.mask.

Yep, thanks, now with extra tests for (i32 1) and (i32 -1).

Aug 24 2020, 5:10 AM · Restricted Project
SjoerdMeijer updated the diff for D86147: [LangRef] Revise semantics of get.active.lane.mask.

Okidoki, now with that change.

Aug 24 2020, 4:45 AM · Restricted Project