Page MenuHomePhabricator

samparker (Sam Parker)
part-timer

Projects

User does not belong to any projects.

User Details

User Since
May 11 2015, 7:59 AM (284 w, 10 h)

Recent Activity

Today

samparker added a comment to D89693: [AArch64] Favor post-increments.

How about results from the LLVM test suite?

Mon, Oct 19, 7:14 AM · Restricted Project
samparker committed rG03f3ef221b02: [LangRef] Correct return type llvm.test.set.loop.iterations.* (authored by samparker).
[LangRef] Correct return type llvm.test.set.loop.iterations.*
Mon, Oct 19, 4:57 AM
samparker closed D89564: Provide correct return type and additional description for llvm.test.set.loop.iterations.* in langref.
Mon, Oct 19, 4:57 AM · Restricted Project
samparker added a comment to D89564: Provide correct return type and additional description for llvm.test.set.loop.iterations.* in langref.

Yeah, I'm happy to do that for you.

Mon, Oct 19, 4:18 AM · Restricted Project
samparker accepted D89564: Provide correct return type and additional description for llvm.test.set.loop.iterations.* in langref.

Thanks!

Mon, Oct 19, 3:00 AM · Restricted Project
samparker added inline comments to D89549: [ARM][LowOverheadLoops] Check live-out for InsertPt instead of Start.
Mon, Oct 19, 2:50 AM · Restricted Project

Thu, Oct 15

samparker accepted D89461: [CostModel] remove cost-kind predicate for ctlz/cttz intrinsics in basic TTI implementation.

I'm sorry for not finishing what I started with this intrinsic nonsense... Any simplification of these winding paths sounds great to me.

Thu, Oct 15, 7:00 AM · Restricted Project
samparker added a comment to D89048: [ARM][LowOverheadLoops] Insert loop start at end of block in more cases.

Sorry, I didn't realise this had been updated.

Thu, Oct 15, 4:54 AM · Restricted Project

Fri, Oct 9

samparker added inline comments to D89048: [ARM][LowOverheadLoops] Insert loop start at end of block in more cases.
Fri, Oct 9, 2:01 AM · Restricted Project
samparker added inline comments to D89048: [ARM][LowOverheadLoops] Insert loop start at end of block in more cases.
Fri, Oct 9, 1:59 AM · Restricted Project
samparker added a comment to D89048: [ARM][LowOverheadLoops] Insert loop start at end of block in more cases.

I wasn't so much concerned about latencies, but I was guessing that by moving the instruction, the goal is to get some more tail-predication "for free".

Indeed, this greatly simplifies the effort required to ensure that we can generate the LSTP version. And I can't see the latency of DLS having any real affect on the performance of a loop, especially not compared to all the other things that can go bad!

Fri, Oct 9, 1:43 AM · Restricted Project

Thu, Oct 1

samparker committed rG7e02bc81c6da: [NFC][ARM] LowOverheadLoop DEBUG statements (authored by samparker).
[NFC][ARM] LowOverheadLoop DEBUG statements
Thu, Oct 1, 5:38 AM
samparker added a comment to D88494: Add "IncludeRemovable" parameter to TargetInstrInfo::DefinesPredicate.

Can we rename the function to something like "ClobbersPredicate", if that's what we actually care about here?

+1 from me. I also wonder renaming IncludesRemovable to something like Ignore/SkipDead?

Thu, Oct 1, 4:52 AM · Restricted Project
samparker accepted D42365: [LoopFlatten] Add a loop-flattening pass.

Maybe we could use SCEV for the overflow checks? ;P
Code looks good to me and we've been running this downstream for a few years.

Thu, Oct 1, 3:04 AM · Restricted Project
samparker committed rG38f625d0d136: [ARM][LowOverheadLoops] Adjust Start insertion. (authored by samparker).
[ARM][LowOverheadLoops] Adjust Start insertion.
Thu, Oct 1, 2:50 AM
samparker closed D88638: [ARM][LowOverheadLoops] Adjust Start insertion..
Thu, Oct 1, 2:49 AM · Restricted Project
samparker committed rG6ec5f324973d: [ARM][LowOverheadLoops] Iteration count liveness (authored by samparker).
[ARM][LowOverheadLoops] Iteration count liveness
Thu, Oct 1, 2:14 AM
samparker closed D88549: [ARM][LowOverheadLoops] Iteration count liveness.
Thu, Oct 1, 2:14 AM · Restricted Project
samparker committed rG7b90516d479c: [ARM][LowOverheadLoops] Start insertion point (authored by samparker).
[ARM][LowOverheadLoops] Start insertion point
Thu, Oct 1, 2:07 AM
samparker closed D88542: [ARM][LowOverheadLoops] Start insertion point.
Thu, Oct 1, 2:07 AM · Restricted Project
samparker updated the diff for D88638: [ARM][LowOverheadLoops] Adjust Start insertion..

Removed the code that later tries to move stuff around.

Thu, Oct 1, 1:28 AM · Restricted Project
samparker requested review of D88638: [ARM][LowOverheadLoops] Adjust Start insertion..
Thu, Oct 1, 1:20 AM · Restricted Project
samparker added inline comments to D88542: [ARM][LowOverheadLoops] Start insertion point.
Thu, Oct 1, 1:15 AM · Restricted Project
samparker updated the diff for D88542: [ARM][LowOverheadLoops] Start insertion point.

Rebased.

Thu, Oct 1, 12:42 AM · Restricted Project
samparker committed rGdfa2c14b8fe8: [ARM][LowOverheadLoops] Use iterator for InsertPt. (authored by samparker).
[ARM][LowOverheadLoops] Use iterator for InsertPt.
Thu, Oct 1, 12:33 AM

Wed, Sep 30

samparker committed rG3f88c10a6b25: [RDA] isSafeToDefRegAt: Look at global uses (authored by samparker).
[RDA] isSafeToDefRegAt: Look at global uses
Wed, Sep 30, 6:08 AM
samparker closed D88554: [RDA] isSafeToDefRegAt: Look at global uses.
Wed, Sep 30, 6:08 AM · Restricted Project
samparker requested review of D88554: [RDA] isSafeToDefRegAt: Look at global uses.
Wed, Sep 30, 4:28 AM · Restricted Project
samparker committed rG3cbd01ddb937: [NFC][ARM] Add more LowOverheadLoop tests. (authored by samparker).
[NFC][ARM] Add more LowOverheadLoop tests.
Wed, Sep 30, 4:20 AM
samparker requested review of D88549: [ARM][LowOverheadLoops] Iteration count liveness.
Wed, Sep 30, 3:15 AM · Restricted Project
samparker updated the diff for D88542: [ARM][LowOverheadLoops] Start insertion point.

Checking result of TryRemove.

Wed, Sep 30, 2:43 AM · Restricted Project
samparker updated the diff for D88542: [ARM][LowOverheadLoops] Start insertion point.

Now using TryRemove for both LRDef cases.

Wed, Sep 30, 2:14 AM · Restricted Project
samparker requested review of D88542: [ARM][LowOverheadLoops] Start insertion point.
Wed, Sep 30, 2:00 AM · Restricted Project
samparker committed rG779a8a028f53: [ARM][LowOverheadLoops] TryRemove helper. (authored by samparker).
[ARM][LowOverheadLoops] TryRemove helper.
Wed, Sep 30, 1:38 AM
samparker committed rG834b6470d9f1: [NFC][ARM] Add LowOverheadLoop test (authored by samparker).
[NFC][ARM] Add LowOverheadLoop test
Wed, Sep 30, 12:37 AM
samparker committed rG700f93e92b6d: [RDA] Switch isSafeToMove iterators (authored by samparker).
[RDA] Switch isSafeToMove iterators
Wed, Sep 30, 12:11 AM
samparker closed D88419: [RDA] Switch isSafeToMove iterators.
Wed, Sep 30, 12:11 AM · Restricted Project
samparker committed rG195c22f2733c: [ARM] Change VPT state assertion (authored by samparker).
[ARM] Change VPT state assertion
Wed, Sep 30, 12:08 AM
samparker closed D88224: [ARM] Change VPT state assertion.
Wed, Sep 30, 12:08 AM · Restricted Project

Tue, Sep 29

samparker abandoned D88418: [RDA] Add def checks to isSafeToRemove.

I need to break this up and change it.

Tue, Sep 29, 8:08 AM · Restricted Project
samparker added inline comments to D88419: [RDA] Switch isSafeToMove iterators.
Tue, Sep 29, 1:18 AM · Restricted Project
samparker committed rG4c19b89b2587: [NFC][ARM] Comments and lambdas (authored by samparker).
[NFC][ARM] Comments and lambdas
Tue, Sep 29, 12:43 AM
samparker added inline comments to D88419: [RDA] Switch isSafeToMove iterators.
Tue, Sep 29, 12:21 AM · Restricted Project

Mon, Sep 28

samparker committed rGe82a0084d322: [ARM][LowOverheadLoops] Cleanup and re-arrange (authored by samparker).
[ARM][LowOverheadLoops] Cleanup and re-arrange
Mon, Sep 28, 8:07 AM
samparker requested review of D88419: [RDA] Switch isSafeToMove iterators.
Mon, Sep 28, 7:50 AM · Restricted Project
samparker requested review of D88418: [RDA] Add def checks to isSafeToRemove.
Mon, Sep 28, 7:42 AM · Restricted Project
samparker committed rG3d1d08915530: [NFC][ARM] Factor out some logic for LoLoops. (authored by samparker).
[NFC][ARM] Factor out some logic for LoLoops.
Mon, Sep 28, 6:52 AM
samparker accepted D88354: [ARM] Expand cannotInsertWDLSTPBetween to the last instruction.

Thanks Dave, LGTM

Mon, Sep 28, 1:04 AM · Restricted Project

Fri, Sep 25

samparker committed rGa399d1880bc6: [ARM] Find VPT implicitly predicated by VCTP (authored by samparker).
[ARM] Find VPT implicitly predicated by VCTP
Fri, Sep 25, 1:03 AM
samparker closed D87819: [ARM] Find VPT implicitly predicated by VCTP.
Fri, Sep 25, 1:02 AM · Restricted Project

Thu, Sep 24

samparker committed rG00ee52ae0467: [NFC][ARM] Remove dead loop. (authored by samparker).
[NFC][ARM] Remove dead loop.
Thu, Sep 24, 7:37 AM
samparker requested review of D88224: [ARM] Change VPT state assertion.
Thu, Sep 24, 6:07 AM · Restricted Project
samparker committed rG9d9a11c7be03: [ARM] Check for LSTP side-effects. (authored by samparker).
[ARM] Check for LSTP side-effects.
Thu, Sep 24, 5:29 AM
samparker closed D88209: [ARM] Check for LSTP side-effects..
Thu, Sep 24, 5:29 AM · Restricted Project
samparker added a comment to D88209: [ARM] Check for LSTP side-effects..

Thanks. Yes, that's next on my TODO list (why would I want to do anything else?!) What I'd really like to do is simplify the logic and remove all the code that moves stuff around and just place the [D|W]LSTP as the last instruction in the preheader. We'll see how that goes...

Thu, Sep 24, 5:19 AM · Restricted Project
samparker updated the diff for D88209: [ARM] Check for LSTP side-effects..

Cheers, did some renaming and added the comment.

Thu, Sep 24, 4:56 AM · Restricted Project
samparker accepted D88212: [ARM] LowoverheadLoops: add an option to disable tail-predication.

Sounds like a useful option to me!

Thu, Sep 24, 4:06 AM · Restricted Project
samparker requested review of D88209: [ARM] Check for LSTP side-effects..
Thu, Sep 24, 3:26 AM · Restricted Project
samparker added a comment to D88086: [ARM][MVE] tail-predication: checks for the elementcount, cont'd.

Actually, I guess if you could prove that the tripcount is precisely equal to (ElementCount + VectorWidth - 1)/VectorWidth, you could also use that to prove the subtraction doesn't overflow.

This sounds like the same suggestion that I made many moons ago... I suggested taking these values and substituting them into the expected SCEV expression, and then perform some SCEV algebra on it and the vector TC expression, until hopefully they both just equal ElementCount == ElementCount. My quick prototype 'worked', but I don't know if that says much.

Thu, Sep 24, 12:33 AM · Restricted Project

Wed, Sep 23

samparker committed rG00c34f72fba4: [NFC][ARM] Pre-commit tail predication test (authored by samparker).
[NFC][ARM] Pre-commit tail predication test
Wed, Sep 23, 6:36 AM

Tue, Sep 22

samparker committed rG94c799fecff0: [ARM] Trying to fix asan buildbot (authored by samparker).
[ARM] Trying to fix asan buildbot
Tue, Sep 22, 5:43 AM
samparker updated the diff for D87819: [ARM] Find VPT implicitly predicated by VCTP.

Rebased and added an assert.

Tue, Sep 22, 2:45 AM · Restricted Project
samparker committed rGb4fa884a73c5: [ARM] Improve VPT predicate tracking (authored by samparker).
[ARM] Improve VPT predicate tracking
Tue, Sep 22, 2:40 AM
samparker closed D87681: [ARM] Improve VPT predicate tracking.
Tue, Sep 22, 2:40 AM · Restricted Project
samparker added a comment to D88022: [ARM][LowOverheadLoops] Check VCMP operands have same def as the VPT before combining.

Hey Sam, add a couple of tests please to catch when the defs are mismatched.

Tue, Sep 22, 2:29 AM · Restricted Project
samparker updated the diff for D87681: [ARM] Improve VPT predicate tracking.
  • Rebased.
  • Renamed VPTBlock to VPTState.
  • Added a comment.
Tue, Sep 22, 1:26 AM · Restricted Project
samparker committed rGa0c1dcc31827: [ARM] Remove MVEDomain from VLDR/STR of P0 (authored by samparker).
[ARM] Remove MVEDomain from VLDR/STR of P0
Tue, Sep 22, 1:06 AM
samparker closed D87900: [ARM] Remove MVEDomain from VLDR/STR of P0.
Tue, Sep 22, 1:06 AM · Restricted Project
samparker committed rGe461921d6ccd: [ARM] VPT validForTailPredication (authored by samparker).
[ARM] VPT validForTailPredication
Tue, Sep 22, 12:59 AM
samparker closed D87759: [ARM] VPT validForTailPredication.
Tue, Sep 22, 12:59 AM · Restricted Project
samparker accepted D88011: [ARM] Add patterns for vmulh.

Thanks.

Tue, Sep 22, 12:50 AM · Restricted Project
samparker added inline comments to D87819: [ARM] Find VPT implicitly predicated by VCTP.
Tue, Sep 22, 12:49 AM · Restricted Project

Mon, Sep 21

samparker added inline comments to D88011: [ARM] Add patterns for vmulh.
Mon, Sep 21, 4:22 AM · Restricted Project
samparker updated the diff for D87900: [ARM] Remove MVEDomain from VLDR/STR of P0.
  • All the VFP instructions now have had validForTailPredication the DomainMVE removed.
  • LowOverheadLoops will inspect any instructions that are in the DomainMVE, or if they use/def the VPR. Helpers for each are added.
  • LowOverheadLoops continues to reject any use of the VPR that isn't a predicate operand.
  • Rebased after adding some more tests for P0 usage.
Mon, Sep 21, 3:50 AM · Restricted Project
samparker committed rG13c73632c7cf: [NFC][ARM] More tail predication tests. (authored by samparker).
[NFC][ARM] More tail predication tests.
Mon, Sep 21, 2:58 AM

Sep 18 2020

samparker requested review of D87900: [ARM] Remove MVEDomain from VLDR/STR of P0.
Sep 18 2020, 5:43 AM · Restricted Project
samparker added a comment to D87826: [ARM] Enable multiple icmp when tail folding.

original was only a single loop?

Do you mean a single block loop? If so, I thought the the vectorizer would perform if-conversion after calling this? And for saturation, does the vectorizer not yet consume saturating intrinsics? Are all of ours ones that merge/retain previous values, maybe their idiom could be checked for?

Sep 18 2020, 1:52 AM · Restricted Project

Sep 17 2020

samparker added inline comments to D87753: [ARM] Add more validForTailPredication.
Sep 17 2020, 11:35 PM · Restricted Project
samparker added inline comments to D87681: [ARM] Improve VPT predicate tracking.
Sep 17 2020, 5:44 AM · Restricted Project
samparker requested review of D87826: [ARM] Enable multiple icmp when tail folding.
Sep 17 2020, 5:30 AM · Restricted Project
samparker committed rG97a476eb5672: [NFC][ARM] Tail fold test changes (authored by samparker).
[NFC][ARM] Tail fold test changes
Sep 17 2020, 5:09 AM
samparker requested review of D87819: [ARM] Find VPT implicitly predicated by VCTP.
Sep 17 2020, 2:32 AM · Restricted Project
samparker accepted D87693: [ARM] Sink splats to MVE intrinsics.

Nice

Sep 17 2020, 1:26 AM · Restricted Project
samparker accepted D83377: [ARM] Expand distributing increments to also handle existing pre/post inc instructions..
Sep 17 2020, 12:48 AM · Restricted Project
samparker added a comment to D83377: [ARM] Expand distributing increments to also handle existing pre/post inc instructions..

Thanks, LGTM

Sep 17 2020, 12:48 AM · Restricted Project

Sep 16 2020

samparker added inline comments to D87753: [ARM] Add more validForTailPredication.
Sep 16 2020, 11:47 PM · Restricted Project
samparker updated the diff for D87681: [ARM] Improve VPT predicate tracking.
  • Rebased.
  • Simplified ValidateMVEInst further by no longer differentiating between a main and secondary VCTPs.
Sep 16 2020, 7:56 AM · Restricted Project
samparker requested review of D87759: [ARM] VPT validForTailPredication.
Sep 16 2020, 6:33 AM · Restricted Project
samparker committed rG3ce9ec0cfa9e: [ARM] Reorder some logic (authored by samparker).
[ARM] Reorder some logic
Sep 16 2020, 5:41 AM
samparker committed rG1c421046d742: [RDA] Fix getUniqueReachingDef for self loops (authored by samparker).
[RDA] Fix getUniqueReachingDef for self loops
Sep 16 2020, 4:45 AM
samparker closed D87751: [RDA] Fix getUniqueReachingDef for self loops.
Sep 16 2020, 4:45 AM · Restricted Project
samparker updated the diff for D87751: [RDA] Fix getUniqueReachingDef for self loops.

Thanks, the logic does simplify quite a bit.

Sep 16 2020, 4:15 AM · Restricted Project
samparker committed rGa63b2a4614b6: [ARM] Fix tail predication predicate tracking (authored by samparker).
[ARM] Fix tail predication predicate tracking
Sep 16 2020, 4:02 AM
samparker closed D87610: [ARM] Fix tail predication predicate tracking.
Sep 16 2020, 4:02 AM · Restricted Project
samparker committed rG86172ce37816: [ARM] Add more validForTailPredication (authored by samparker).
[ARM] Add more validForTailPredication
Sep 16 2020, 3:54 AM
samparker closed D87753: [ARM] Add more validForTailPredication.
Sep 16 2020, 3:54 AM · Restricted Project
samparker updated the diff for D87610: [ARM] Fix tail predication predicate tracking.

Removed all the unnecessary changes.

Sep 16 2020, 3:49 AM · Restricted Project
samparker updated the diff for D87751: [RDA] Fix getUniqueReachingDef for self loops.

Cheers, now comparing against 'Parent'.

Sep 16 2020, 3:29 AM · Restricted Project
samparker added a comment to D87610: [ARM] Fix tail predication predicate tracking.

Cheers, I will definitely commit an NFC and rebase. I've extracted the validForTailPredication into another patch too: D87753.

Sep 16 2020, 3:27 AM · Restricted Project
samparker requested review of D87753: [ARM] Add more validForTailPredication.
Sep 16 2020, 3:26 AM · Restricted Project