Page MenuHomePhabricator

samparker (Sam Parker)
User

Projects

User does not belong to any projects.

User Details

User Since
May 11 2015, 7:59 AM (197 w, 2 d)

Recent Activity

Today

samparker created D58452: [ARM] Negative constants mishandled in ARM CGP.
Wed, Feb 20, 7:59 AM

Yesterday

samparker created D58389: [NFC][LSR] Cleanup Cost API.
Tue, Feb 19, 8:39 AM

Fri, Feb 15

samparker committed rG0b53e8454b11: [BPI] Look through bitcasts in calcZeroHeuristic (authored by samparker).
[BPI] Look through bitcasts in calcZeroHeuristic
Fri, Feb 15, 3:50 AM
samparker committed rG3c17cb7bc430: [ARM CGP] Fix ConvertTruncs (authored by samparker).
[ARM CGP] Fix ConvertTruncs
Fri, Feb 15, 1:10 AM

Thu, Feb 14

samparker updated the diff for D57686: [ARM CGP] Fix ConvertTruncs.

Updated the test labels. The AND that is used to convert the trunc still becomes a uxtb, so we just need to check that there's one after the division.

Thu, Feb 14, 5:26 AM · Restricted Project

Wed, Feb 13

samparker added inline comments to D57686: [ARM CGP] Fix ConvertTruncs.
Wed, Feb 13, 6:12 AM · Restricted Project
samparker created D58166: [BPI] Look through bitcasts in calcZeroHeuristic.
Wed, Feb 13, 12:21 AM · Restricted Project

Tue, Feb 12

samparker added inline comments to D58063: [ARM] Sink zext/sext operands for add and sub to enable vsubl generation..
Tue, Feb 12, 5:18 AM · Restricted Project

Mon, Feb 11

samparker committed rG8ff143033a77: [ARM] Add v8m.base pattern for add negative imm (authored by samparker).
[ARM] Add v8m.base pattern for add negative imm
Mon, Feb 11, 3:36 AM
samparker updated the diff for D57942: [ARM] Add v8m.base pattern for add negative imm.

Cheers Dave!

Mon, Feb 11, 3:14 AM · Restricted Project
samparker committed rG3fbacd4964ed: [NFC][ARM] Simplify loop-indexing codegen test (authored by samparker).
[NFC][ARM] Simplify loop-indexing codegen test
Mon, Feb 11, 2:54 AM

Fri, Feb 8

samparker updated the diff for D57942: [ARM] Add v8m.base pattern for add negative imm.

I've opted for putting the pattern in ARMInstrInfo once everything has been included. Also added encodings to the test to ensure we're now using the correct movw.

Fri, Feb 8, 7:26 AM · Restricted Project
samparker added a comment to D57942: [ARM] Add v8m.base pattern for add negative imm.

Well, I'll still have the problem that tSUBrr is defined in the other file =/

Fri, Feb 8, 6:13 AM · Restricted Project
samparker added a comment to D57942: [ARM] Add v8m.base pattern for add negative imm.

Before I put this in ISelDAGToDAG, is there a way to reference machine instructions from across different tablegen files..?

Fri, Feb 8, 5:38 AM · Restricted Project
samparker added inline comments to D57942: [ARM] Add v8m.base pattern for add negative imm.
Fri, Feb 8, 5:29 AM · Restricted Project
samparker updated the diff for D57942: [ARM] Add v8m.base pattern for add negative imm.

Updated tests.

Fri, Feb 8, 4:53 AM · Restricted Project
samparker added inline comments to D57942: [ARM] Add v8m.base pattern for add negative imm.
Fri, Feb 8, 4:42 AM · Restricted Project
samparker created D57942: [ARM] Add v8m.base pattern for add negative imm.
Fri, Feb 8, 2:53 AM · Restricted Project

Thu, Feb 7

samparker committed rG5b09834bc364: [ARM] Add OptMinSize to ARMSubtarget (authored by samparker).
[ARM] Add OptMinSize to ARMSubtarget
Thu, Feb 7, 11:58 PM
samparker added a comment to D57812: [ARM] Add OptMinSize Subtarget feature.

Thanks to you both.

Thu, Feb 7, 11:23 PM · Restricted Project
samparker removed a reviewer for D49229: [AggressiveInstCombine] Fold redundant masking operations of shifted value: samparker.
Thu, Feb 7, 8:38 AM
samparker committed rG67756c09f21a: [LSR] Generate cross iteration indexes (authored by samparker).
[LSR] Generate cross iteration indexes
Thu, Feb 7, 5:34 AM
samparker added a comment to D55373: [LSR] Generate formulae to enable more indexed accesses.

Will do. Thanks for the review!

Thu, Feb 7, 4:50 AM · Restricted Project
samparker added inline comments to D55373: [LSR] Generate formulae to enable more indexed accesses.
Thu, Feb 7, 2:58 AM · Restricted Project
samparker updated the diff for D55373: [LSR] Generate formulae to enable more indexed accesses.

Added doxygen comment.

Thu, Feb 7, 1:42 AM · Restricted Project
samparker added inline comments to D55373: [LSR] Generate formulae to enable more indexed accesses.
Thu, Feb 7, 1:36 AM · Restricted Project
samparker updated the diff for D57812: [ARM] Add OptMinSize Subtarget feature.

Removed the setter and instead changed the subtarget map key.

Thu, Feb 7, 1:26 AM · Restricted Project

Wed, Feb 6

samparker added inline comments to D57812: [ARM] Add OptMinSize Subtarget feature.
Wed, Feb 6, 9:04 AM · Restricted Project
samparker updated the diff for D57812: [ARM] Add OptMinSize Subtarget feature.

updated member description

Wed, Feb 6, 6:20 AM · Restricted Project
samparker added inline comments to D57812: [ARM] Add OptMinSize Subtarget feature.
Wed, Feb 6, 6:20 AM · Restricted Project
samparker updated the diff for D57812: [ARM] Add OptMinSize Subtarget feature.

Added method setOptMinSize which is set in getSubtargetImpl.

Wed, Feb 6, 3:53 AM · Restricted Project
samparker added a comment to D57812: [ARM] Add OptMinSize Subtarget feature.

Ah yes, good point! I'll make the change.

Wed, Feb 6, 3:44 AM · Restricted Project
samparker added a comment to D57812: [ARM] Add OptMinSize Subtarget feature.

Hi Florian,

Wed, Feb 6, 3:22 AM · Restricted Project
samparker created D57812: [ARM] Add OptMinSize Subtarget feature.
Wed, Feb 6, 2:49 AM · Restricted Project

Tue, Feb 5

samparker added a comment to D55373: [LSR] Generate formulae to enable more indexed accesses.

Tue, Feb 5, 3:14 AM · Restricted Project
samparker updated the diff for D55373: [LSR] Generate formulae to enable more indexed accesses.

Made some simplifications:

  • reset isProfitableChain.
  • reset FinalizeChain so that the tail is added to the chain again.
  • removed the CollapseUnrolled option because with the reset in changes, it wasn't really interesting.
Tue, Feb 5, 3:13 AM · Restricted Project

Mon, Feb 4

samparker created D57686: [ARM CGP] Fix ConvertTruncs.
Mon, Feb 4, 6:30 AM · Restricted Project
samparker added inline comments to D55373: [LSR] Generate formulae to enable more indexed accesses.
Mon, Feb 4, 3:37 AM · Restricted Project
samparker accepted D57671: [ARM] Mark 255 and 65535 as cheap for Thumb1 "And".

LGTM

Mon, Feb 4, 3:05 AM · Restricted Project
samparker accepted D57565: [LSR] Check SCEV on isZero() after extend. PR40514.

Cheers, LGTM.

Mon, Feb 4, 3:03 AM · Restricted Project

Fri, Feb 1

samparker added a comment to D57445: [ARM] Fix TTI IntImmCost.

I like that idea, I think moving the logic into ARMISelLowering would be good as we already use similar logic there too.

Fri, Feb 1, 3:22 AM
samparker added a comment to D57565: [LSR] Check SCEV on isZero() after extend. PR40514.

Hi Max,

Fri, Feb 1, 3:03 AM · Restricted Project

Thu, Jan 31

samparker added inline comments to D57445: [ARM] Fix TTI IntImmCost.
Thu, Jan 31, 6:33 AM
samparker accepted D57377: [CGP] Add support for sinking operands to their users, if they are free..

LGTM with one comment.

Thu, Jan 31, 6:27 AM · Restricted Project
samparker added a comment to D57445: [ARM] Fix TTI IntImmCost.

It looks like APInt doesn't function the way I expected, nor in the way that the other authors of this area would have expected. I've posted a query: http://lists.llvm.org/pipermail/llvm-dev/2019-January/129781.html

Thu, Jan 31, 5:26 AM

Wed, Jan 30

samparker added a comment to D57445: [ARM] Fix TTI IntImmCost.

Some tests to follow...

Wed, Jan 30, 5:42 AM
samparker created D57445: [ARM] Fix TTI IntImmCost.
Wed, Jan 30, 4:27 AM
samparker added a comment to D57377: [CGP] Add support for sinking operands to their users, if they are free..

Hi Florian,

Wed, Jan 30, 1:35 AM · Restricted Project

Tue, Jan 29

samparker added inline comments to D55373: [LSR] Generate formulae to enable more indexed accesses.
Tue, Jan 29, 1:20 AM · Restricted Project

Mon, Jan 28

samparker updated the diff for D56852: [AArch64] Use LL for 64-bit arguments.

Changed the builtins to use W instead of LL. I've also updated the tests, adding a test for rbitl.

Mon, Jan 28, 3:40 AM
samparker reopened D56852: [AArch64] Use LL for 64-bit arguments.
Mon, Jan 28, 3:37 AM

Thu, Jan 24

samparker added a comment to D55373: [LSR] Generate formulae to enable more indexed accesses.

Hi Hal,

Thu, Jan 24, 7:43 AM · Restricted Project

Wed, Jan 23

samparker added a comment to D55373: [LSR] Generate formulae to enable more indexed accesses.

ping

Wed, Jan 23, 2:17 AM · Restricted Project

Tue, Jan 22

samparker updated the diff for D57041: [ARM][CGP] Check trunc value size before replacing.

Cheers, added some comments and removed whitespace.

Tue, Jan 22, 3:17 AM
samparker updated the diff for D56719: [DAGCombine] Enable more pre-indexed stores.

Thanks for your suggestion Eli, that works for me.

Tue, Jan 22, 2:59 AM
samparker created D57041: [ARM][CGP] Check trunc value size before replacing.
Tue, Jan 22, 1:36 AM

Jan 18 2019

samparker retitled D56852: [AArch64] Use LL for 64-bit arguments from [AArch64] Use LLU for 64-bit crc32 arguments to [AArch64] Use LL for 64-bit arguments.
Jan 18 2019, 2:11 AM
samparker updated the diff for D56852: [AArch64] Use LL for 64-bit arguments.

Updated wsr, rsr and rbit

Jan 18 2019, 2:11 AM

Jan 17 2019

samparker added inline comments to D56719: [DAGCombine] Enable more pre-indexed stores.
Jan 17 2019, 7:13 AM
samparker created D56852: [AArch64] Use LL for 64-bit arguments.
Jan 17 2019, 6:29 AM

Jan 16 2019

samparker removed a child revision for D55373: [LSR] Generate formulae to enable more indexed accesses: D56719: [DAGCombine] Enable more pre-indexed stores.
Jan 16 2019, 6:30 AM · Restricted Project
samparker removed a parent revision for D56719: [DAGCombine] Enable more pre-indexed stores: D55373: [LSR] Generate formulae to enable more indexed accesses.
Jan 16 2019, 6:30 AM
samparker updated the diff for D56719: [DAGCombine] Enable more pre-indexed stores.

Hi Eli,

Jan 16 2019, 6:30 AM

Jan 15 2019

samparker added a parent revision for D56719: [DAGCombine] Enable more pre-indexed stores: D55373: [LSR] Generate formulae to enable more indexed accesses.
Jan 15 2019, 6:58 AM
samparker added a child revision for D55373: [LSR] Generate formulae to enable more indexed accesses: D56719: [DAGCombine] Enable more pre-indexed stores.
Jan 15 2019, 6:58 AM · Restricted Project
samparker created D56719: [DAGCombine] Enable more pre-indexed stores.
Jan 15 2019, 6:57 AM
samparker updated the diff for D55373: [LSR] Generate formulae to enable more indexed accesses.

Removed changes to the complexity.ll test.

Jan 15 2019, 6:44 AM · Restricted Project
samparker updated the diff for D50432: [DAGCombiner] Reduce load widths of shifted masks.

Changed the method of creating the final shl.

Jan 15 2019, 3:46 AM
samparker added inline comments to D56032: [ARM] Combine ands+lsls to lsls+lsrs for Thumb1..
Jan 15 2019, 1:56 AM

Jan 14 2019

samparker added a comment to D50432: [DAGCombiner] Reduce load widths of shifted masks.

Thanks. Yes, I think this is to do with the way I try to insert the new shl node, the DAG is just returning the existing node hence we only have one shl node. Should have a patch up tomorrow.

Jan 14 2019, 9:23 AM
samparker added a comment to D50432: [DAGCombiner] Reduce load widths of shifted masks.

Could you please describe more accurately what you are expecting to see? I'm failing to see the issue.

Jan 14 2019, 2:06 AM

Jan 11 2019

samparker updated the diff for D55373: [LSR] Generate formulae to enable more indexed accesses.

Changed the default value for the command line option 'EnableBackedgeIndexing' to false.

Jan 11 2019, 9:22 AM · Restricted Project
samparker updated the diff for D55373: [LSR] Generate formulae to enable more indexed accesses.

some renaming, renamed post inc bits to 'index'.

Jan 11 2019, 7:42 AM · Restricted Project
samparker retitled D55373: [LSR] Generate formulae to enable more indexed accesses from [LSR] Generate formulae to enable more post-incs to [LSR] Generate formulae to enable more indexed accesses.
Jan 11 2019, 7:22 AM · Restricted Project
samparker updated the diff for D55373: [LSR] Generate formulae to enable more indexed accesses.
  • Added a command line option to 'EnableBackedgePostIncs'.
  • Added a command line option to enable narrowing the search space by collapsing unrolled code.
  • The TTI hook now accepts the loop so that the target can make a more informed decision on when it 'shouldFavorBackedgePostIncs'.
  • LSRInstance contains a boolean 'FavorBackedgePostInc' which is equal to EnableBackedgePostIncs && shouldFavorBackedgePostIncs.
  • When FavorBackedgePostIncs: > Generate the new constant offsets. > In RateRegister, the LoopCost is now set to 0 if the step recurrence is equal to the base offset of the parent formula. > IsProfitableChain has a higher limit > The last expression in the IVChain is not added to IVIncSet so it's a target for optimising.
Jan 11 2019, 5:02 AM · Restricted Project

Jan 9 2019

samparker updated the diff for D56255: [ARM] Size reduce teq to eors.

Thanks Eli, I've updated the test case and set isDead.

Jan 9 2019, 1:51 AM

Jan 7 2019

samparker added a comment to D56255: [ARM] Size reduce teq to eors.

The mir test isn't producing the IT block, and I'm unsure why and how to get this to work. That's why I've only included the first test which is to check the IT block.

Jan 7 2019, 6:56 AM
samparker updated the diff for D56255: [ARM] Size reduce teq to eors.
  • corrected original teq test
  • added mir test
Jan 7 2019, 5:55 AM
samparker added a comment to D56255: [ARM] Size reduce teq to eors.

@SjoerdMeijer good point.... and it actually does and somehow i just haven't updated the test correctly.
@dmgreen yes, good idea.

Jan 7 2019, 2:36 AM

Jan 3 2019

samparker created D56255: [ARM] Size reduce teq to eors.
Jan 3 2019, 3:23 AM

Dec 31 2018

samparker updated the diff for D55992: [ARM] Add missing patterns for DSP muls.

Hi Eli,

Dec 31 2018, 7:25 AM

Dec 21 2018

samparker created D55992: [ARM] Add missing patterns for DSP muls.
Dec 21 2018, 2:35 AM

Dec 19 2018

samparker added inline comments to D55373: [LSR] Generate formulae to enable more indexed accesses.
Dec 19 2018, 4:49 AM · Restricted Project
samparker added inline comments to D55373: [LSR] Generate formulae to enable more indexed accesses.
Dec 19 2018, 1:27 AM · Restricted Project

Dec 12 2018

samparker updated the diff for D55373: [LSR] Generate formulae to enable more indexed accesses.

I've moved the logic under the control of a new TTI flag as it seems that the current shouldFavourPostInc is trying to achieve different things. Hopefully I've also addressed Gil's comments.

Dec 12 2018, 9:55 AM · Restricted Project
samparker added inline comments to D55373: [LSR] Generate formulae to enable more indexed accesses.
Dec 12 2018, 1:09 AM · Restricted Project

Dec 11 2018

samparker added a comment to D55373: [LSR] Generate formulae to enable more indexed accesses.

Okay, thanks. We're also seeing some regressions, so I know I've got some tuning to do. Do you have any idea of the characteristics of your regressions? At the moment I'm thinking:

  • That the costs that I've added here are overly simplistic, for one I think I need to add a setup cost.
  • It's also probably not worth doing when we know that the loop iteration count is low.
  • In the current state, we also see code size regressions whereas your previous work helps us reduce code size. It may mean that I'll need a different flag to enable this change, but it also maybe a symptom of the performance regressions.
Dec 11 2018, 9:36 AM · Restricted Project
samparker added inline comments to D55373: [LSR] Generate formulae to enable more indexed accesses.
Dec 11 2018, 12:51 AM · Restricted Project

Dec 6 2018

samparker created D55373: [LSR] Generate formulae to enable more indexed accesses.
Dec 6 2018, 8:08 AM · Restricted Project

Nov 30 2018

samparker added a comment to D54899: [LoopStrengthReduce] ComplexityLimit as an option.

Ah, ok, I don't think they're being generated. I will have a look at GenerateConstantOffsetsImpl. Thanks!

Nov 30 2018, 8:15 AM

Nov 29 2018

samparker added a comment to D54899: [LoopStrengthReduce] ComplexityLimit as an option.

@qcolombet maybe you could suggest the areas in LSR which will enable to help produce these post inc loads? What we have with the default complexity is:

Nov 29 2018, 3:52 AM

Nov 28 2018

samparker added a comment to D54899: [LoopStrengthReduce] ComplexityLimit as an option.

Hi Quentin

Nov 28 2018, 11:52 PM
samparker accepted D53190: ARM: avoid infinite combining loop.

Great to see those other test changes! LGTM with the few minor comments, no need to re-review. cheers!

Nov 28 2018, 7:24 AM
samparker accepted D54961: [AArch64] Add command-line option for SSBS.

LGTM

Nov 28 2018, 3:43 AM
samparker accepted D54629: [AArch64] Add command-line option for SSBS.

Thanks for the explanation, LGTM!

Nov 28 2018, 3:43 AM
samparker updated the diff for D54899: [LoopStrengthReduce] ComplexityLimit as an option.

Thanks for taking a look and for the value renamer tip! The test case has now been renamed and reduced.

Nov 28 2018, 3:37 AM

Nov 27 2018

samparker added a comment to D53190: ARM: avoid infinite combining loop.

My point was that, even though this extra work and as you mentioned in the comments, the test case isn't generating optimum code. We could introduce a subs node to remove the unnecessary cmp, making the sub opaque and improving codegen. Unless there's a reason why we couldn't do this?

Nov 27 2018, 2:59 AM

Nov 26 2018

samparker created D54899: [LoopStrengthReduce] ComplexityLimit as an option.
Nov 26 2018, 7:39 AM

Nov 23 2018

samparker added a comment to D54629: [AArch64] Add command-line option for SSBS.

Hi Pablo,

Nov 23 2018, 2:23 AM
samparker accepted D54842: [ARM][NFC] codegen tests cleanup: remove dangling check prefixes.

LGTM.

Nov 23 2018, 1:43 AM