Page MenuHomePhabricator

samtebbs (Sam Tebbs)
User

Projects

User does not belong to any projects.

User Details

User Since
May 31 2019, 2:34 AM (198 w, 6 d)

Recent Activity

Fri, Mar 3

samtebbs accepted D145184: [AArch64] Prefer to fold dup into fmul/fma as opposed to ld1r.
Fri, Mar 3, 6:05 AM · Restricted Project, Restricted Project

Feb 14 2023

samtebbs accepted D121088: [AArch64] Concat zip1 and zip2 is a wider zip1.
Feb 14 2023, 3:15 AM · Restricted Project, Restricted Project
samtebbs accepted D143988: [AArch64] Always lower fp16 zero to FMOVH0.

LGTM

Feb 14 2023, 3:14 AM · Restricted Project, Restricted Project

Feb 6 2023

samtebbs accepted D143396: [ARM] Perform lane interleaving from reductions..

Looks great, thank you.

Feb 6 2023, 8:51 AM · Restricted Project, Restricted Project

Feb 3 2023

samtebbs accepted D142966: [AArch64] Don't create ST2 for 64bit store that requires a EXT.

Great change, thank you.

Feb 3 2023, 2:38 AM · Restricted Project, Restricted Project

Jan 31 2023

samtebbs added a comment to D139275: [SimplifyCFG] `FoldBranchToCommonDest()`: deal with mismatched IV's in PHI's in common successor block.

Hi @lebedev.ri , after some more investigation it looks like the regressions are due to this patch breaking canonical loop form and therefore preventing optimisations later on in the pipeline. I don't think that the additional comparisons and selects that come from this transformation are ideal in all cases, either. I've attached a reproducer.

Jan 31 2023, 9:47 AM · Restricted Project, Restricted Project

Jan 17 2023

samtebbs added a comment to D139275: [SimplifyCFG] `FoldBranchToCommonDest()`: deal with mismatched IV's in PHI's in common successor block.

After investigating it looks like the regressions are due to something downstream so I don't want to block this relanding based on that. Thank you for waiting.

Jan 17 2023, 8:28 AM · Restricted Project, Restricted Project

Jan 16 2023

samtebbs accepted D141829: Reapply [AArch64] fold subs ugt/ult to ands when the second operand is mask/pow2.

Thanks for this, it's looking great, with one small suggestion.

Jan 16 2023, 6:10 AM · Restricted Project, Restricted Project
samtebbs added inline comments to D141829: Reapply [AArch64] fold subs ugt/ult to ands when the second operand is mask/pow2.
Jan 16 2023, 5:57 AM · Restricted Project, Restricted Project
samtebbs added inline comments to D141829: Reapply [AArch64] fold subs ugt/ult to ands when the second operand is mask/pow2.
Jan 16 2023, 5:50 AM · Restricted Project, Restricted Project
samtebbs added inline comments to D141829: Reapply [AArch64] fold subs ugt/ult to ands when the second operand is mask/pow2.
Jan 16 2023, 3:51 AM · Restricted Project, Restricted Project

Jan 12 2023

samtebbs accepted D141523: [ARM] Cortex-M55 Scheduling Model.

LGTM

Jan 12 2023, 9:16 AM · Restricted Project, Restricted Project

Jan 11 2023

samtebbs accepted D141399: [ARM] Don't treat arguments as producesFalseLanesZero.
Jan 11 2023, 1:34 AM · Restricted Project, Restricted Project

Jan 9 2023

samtebbs accepted D141275: [AArch64] Sink to umull if we know tops bits are zero..
Jan 9 2023, 5:39 AM · Restricted Project, Restricted Project
samtebbs added inline comments to D141275: [AArch64] Sink to umull if we know tops bits are zero..
Jan 9 2023, 5:27 AM · Restricted Project, Restricted Project

Jan 6 2023

samtebbs accepted D141137: [ARM] Fold And/Or into CSel if possible.

Looking good

Jan 6 2023, 7:18 AM · Restricted Project, Restricted Project
samtebbs accepted D141119: [AArch64] Fold And/Or into CSel if possible.

LGTM with one suggestion.

Jan 6 2023, 3:23 AM · Restricted Project, Restricted Project

Jan 5 2023

samtebbs added a comment to D139275: [SimplifyCFG] `FoldBranchToCommonDest()`: deal with mismatched IV's in PHI's in common successor block.

We've also seen lots of large regressions for a variety of ARM CPUs with the original patch and that weren't fixed by any updates. At the moment it's not clear if downstream changes are to blame so I'll sort out a reproducer as soon as I can.

Jan 5 2023, 3:27 AM · Restricted Project, Restricted Project

Dec 20 2022

samtebbs accepted D140297: [AArch64] Add RSHRN and RSHRN2 patterns.

Cool, that sounds good to me. Nice change and LGTM!

Dec 20 2022, 8:25 AM · Restricted Project, Restricted Project
samtebbs added inline comments to D140297: [AArch64] Add RSHRN and RSHRN2 patterns.
Dec 20 2022, 2:30 AM · Restricted Project, Restricted Project

Dec 19 2022

samtebbs accepted D140289: [AArch64] Combine Trunc(DUP) -> DUP.

Nice one, LGTM.

Dec 19 2022, 3:56 AM · Restricted Project, Restricted Project
samtebbs accepted D140287: [AArch64] Combine to UMULL if top bits are known zero.

LGTM

Dec 19 2022, 3:21 AM · Restricted Project, Restricted Project

Dec 7 2022

samtebbs accepted D134646: [AArch64] Add a target feature for AArch64StorePairSuppress.

Nice, LGTM

Dec 7 2022, 8:48 AM · Restricted Project, Restricted Project

Nov 17 2022

samtebbs added a comment to D137844: [DAG] Allow folding AND of anyext masked_load with >1 user to zext version.

From my reading an anyext can't guarantee what is put in those extended bits so changing the anyext to a zext seems semantically acceptable to me. If it isn't correct then we'll get some bug reports and it can be fixed!

Nov 17 2022, 1:41 AM · Restricted Project, Restricted Project

Nov 10 2022

samtebbs accepted D137726: [AArch64] Allow sinking both extract and splat to smull.

LGTM

Nov 10 2022, 7:08 AM · Restricted Project, Restricted Project

Nov 8 2022

samtebbs accepted D137613: [TypePromotion] Replace Zext to Truncate for the case src bitwidth is larger.

Nice one, LGTM.

Nov 8 2022, 6:31 AM · Restricted Project, Restricted Project
samtebbs added inline comments to D137613: [TypePromotion] Replace Zext to Truncate for the case src bitwidth is larger.
Nov 8 2022, 5:54 AM · Restricted Project, Restricted Project
samtebbs added inline comments to D137613: [TypePromotion] Replace Zext to Truncate for the case src bitwidth is larger.
Nov 8 2022, 2:43 AM · Restricted Project, Restricted Project

Nov 3 2022

Herald added a project to D96007: [AArch64] Enable stack clash protection for AArch64 linux in clang: Restricted Project.
Nov 3 2022, 4:57 AM · Restricted Project, Restricted Project

Oct 31 2022

samtebbs accepted D136447: [ARM] Fix vector ule zero lowering.

LGTM

Oct 31 2022, 6:58 AM · Restricted Project, Restricted Project

Oct 10 2022

samtebbs accepted D135560: [ARM] Add errors for MVE exclusive registers..

Thanks

Oct 10 2022, 1:36 AM · Restricted Project, Restricted Project

Oct 3 2022

samtebbs accepted D135043: [AArch64] Ensure condition (SUBS) has no uses of value in performCONDCombine.

LGTM

Oct 3 2022, 2:10 AM · Restricted Project, Restricted Project

Sep 20 2022

samtebbs accepted D134022: [AArch64] Insert/Extract of bitcast patterns.

Nice change

Sep 20 2022, 6:14 AM · Restricted Project, Restricted Project
samtebbs accepted D131786: [ARM] Support all versions of AND, ORR, EOR and BIC in optimizeCompareInstr.

Looks pretty good to me, but maybe give the other reviewers some time for another look.

Sep 20 2022, 6:11 AM · Restricted Project, Restricted Project
samtebbs accepted D134273: [AArch64] Enable LSLFast for modern OoO cpus.

LGTM

Sep 20 2022, 6:05 AM · Restricted Project, Restricted Project
samtebbs added a comment to D134260: [AArch64] Add GPR rr instructions to isAssociativeAndCommutative.

From the tests it's not immediately clear what is improved. Have you run any benchmarks to see what improves?

Sep 20 2022, 3:25 AM · Restricted Project, Restricted Project

Sep 13 2022

samtebbs accepted D133355: [AArch64] Sink splat(s/zext(..)) to uses.

Looks pretty good to me. Nice

Sep 13 2022, 7:16 AM · Restricted Project, Restricted Project

Aug 5 2022

samtebbs accepted D131253: [AArch64] Add bf16 select handling.
Aug 5 2022, 6:52 AM · Restricted Project, Restricted Project

Aug 2 2022

samtebbs accepted D130874: [AArch64] Fold Mul(And(Srl(X, 15), 0x10001), 0xffff) to CMLTz.

LGTM

Aug 2 2022, 1:46 AM · Restricted Project, Restricted Project

Jul 19 2022

samtebbs accepted D129966: [ARM] Remove VBICimm if no cleared bits are demanded.

LGTM

Jul 19 2022, 1:58 AM · Restricted Project, Restricted Project

Jul 18 2022

samtebbs added inline comments to D129966: [ARM] Remove VBICimm if no cleared bits are demanded.
Jul 18 2022, 3:01 AM · Restricted Project, Restricted Project

Jul 7 2022

samtebbs accepted D129141: [ARM] Switch the costs of mve1beat and mve4beat.

LGTM

Jul 7 2022, 7:05 AM · Restricted Project, Restricted Project
samtebbs added a comment to D129141: [ARM] Switch the costs of mve1beat and mve4beat.

Good job on catching this oversight. LGTM with a question about a test change.

Jul 7 2022, 6:40 AM · Restricted Project, Restricted Project

Jul 4 2022

samtebbs accepted D128732: [VectorCombine] Improve shuffle select shuffle-of-shuffles.

LGTM now, cheers.

Jul 4 2022, 2:44 AM · Restricted Project, Restricted Project

Jul 1 2022

samtebbs added inline comments to D128732: [VectorCombine] Improve shuffle select shuffle-of-shuffles.
Jul 1 2022, 6:24 AM · Restricted Project, Restricted Project

Jun 28 2022

samtebbs added inline comments to D127812: [AArch64] FMV support and necessary target features dependencies..
Jun 28 2022, 3:18 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project

Jun 23 2022

samtebbs accepted D128426: [AArch64] Convert vector add(ext, ext) into ext(add(ext, ext)).

LGTM

Jun 23 2022, 8:10 AM · Restricted Project, Restricted Project

Jun 17 2022

samtebbs accepted D127733: [ARM] Fix MVE gather/scatter merged gep offsets.

Nice one.

Jun 17 2022, 1:54 AM · Restricted Project, Restricted Project

Jun 16 2022

samtebbs accepted D127971: [MachinePipeliner] Handle failing constrainRegClass.
Jun 16 2022, 7:56 AM · Restricted Project, Restricted Project
samtebbs added a comment to D127971: [MachinePipeliner] Handle failing constrainRegClass.

Looks good to me. I assume that the test case can't be reduced while retaining the behaviour.

Jun 16 2022, 7:56 AM · Restricted Project, Restricted Project

Jun 6 2022

samtebbs accepted D126782: [AArch64] Look through bitcast when looking for extract_high subvector .

LGTM

Jun 6 2022, 4:00 AM · Restricted Project, Restricted Project
samtebbs accepted D127087: [AArch64] Generate FADDP from shuffled fadd.

lgtm

Jun 6 2022, 3:48 AM · Restricted Project, Restricted Project

Jun 1 2022

samtebbs accepted D126686: [AArch64] Generate ADDP from shuffled add.

LGTM! Thanks

Jun 1 2022, 6:13 AM · Restricted Project, Restricted Project

May 26 2022

samtebbs accepted D126449: [AArch64] Reuse larger DUP if available.

LGTM

May 26 2022, 2:35 AM · Restricted Project, Restricted Project
samtebbs added inline comments to D126449: [AArch64] Reuse larger DUP if available.
May 26 2022, 1:41 AM · Restricted Project, Restricted Project

May 25 2022

samtebbs abandoned D109001: [AArch64] Fold an sqadd of a sqdmull at lane 0 into an sqdmlal.
May 25 2022, 7:56 AM · Restricted Project, Restricted Project

May 19 2022

samtebbs accepted D125865: [AArch64] Fix zero element TBL indices.

LGTM

May 19 2022, 3:57 AM · Restricted Project, Restricted Project

May 6 2022

samtebbs accepted D125086: [VectorCombine] Attempt to fold select shuffles from reductions.

Looks sensible to me, thanks

May 6 2022, 7:53 AM · Restricted Project, Restricted Project

May 3 2022

samtebbs accepted D124786: [AArch64] Add extra reverse costs..

Out of interest, do you have any benchmark results to show how these new costs improves things?

May 3 2022, 8:15 AM · Restricted Project, Restricted Project
samtebbs accepted D123911: [VectorCombine] Fold shuffle select pattern.

LGTM

May 3 2022, 8:13 AM · Restricted Project, Restricted Project

Apr 28 2022

samtebbs added inline comments to D123911: [VectorCombine] Fold shuffle select pattern.
Apr 28 2022, 2:33 AM · Restricted Project, Restricted Project

Apr 27 2022

samtebbs accepted D123494: [VectorCombine] Find and remove shuffles from commutative reductions.
Apr 27 2022, 8:25 AM · Restricted Project, Restricted Project
samtebbs added a comment to D123494: [VectorCombine] Find and remove shuffles from commutative reductions.

LGTM

Apr 27 2022, 8:25 AM · Restricted Project, Restricted Project

Apr 26 2022

samtebbs added inline comments to D123494: [VectorCombine] Find and remove shuffles from commutative reductions.
Apr 26 2022, 8:08 AM · Restricted Project, Restricted Project
samtebbs accepted D124357: [AArch64] Cost modelling for fptoi_sat.

Looks pretty sensible to me, thanks.

Apr 26 2022, 7:58 AM · Restricted Project, Restricted Project
samtebbs accepted D123414: [AArch64] Break up larger shuffle-masks into legal sizes in getShuffleCost.

LGTM

Apr 26 2022, 3:27 AM · Restricted Project, Restricted Project

Apr 20 2022

samtebbs added inline comments to D123414: [AArch64] Break up larger shuffle-masks into legal sizes in getShuffleCost.
Apr 20 2022, 6:50 AM · Restricted Project, Restricted Project
samtebbs accepted D123409: [AArch64] Use PerfectShuffle costs in AArch64TTIImpl::getShuffleCost.

LGTM!

Apr 20 2022, 6:37 AM · Restricted Project, Restricted Project

Apr 13 2022

samtebbs added inline comments to D123409: [AArch64] Use PerfectShuffle costs in AArch64TTIImpl::getShuffleCost.
Apr 13 2022, 3:15 AM · Restricted Project, Restricted Project
samtebbs added inline comments to D123414: [AArch64] Break up larger shuffle-masks into legal sizes in getShuffleCost.
Apr 13 2022, 3:10 AM · Restricted Project, Restricted Project

Mar 29 2022

samtebbs accepted D122643: [AArch64] Optimize pattern for converting a half word byte swap in a 64-bit input to a rev16 instruction.

Nice one. Looks good to me.

Mar 29 2022, 5:24 AM · Restricted Project, Restricted Project

Mar 23 2022

samtebbs accepted D121137: [AArch64] Lower 3 and 4 sources buildvectors to TBL.

Nice

Mar 23 2022, 9:05 AM · Restricted Project, Restricted Project

Mar 10 2022

samtebbs added inline comments to D119880: [FuncSpec] Support function specialization across multiple arguments..
Mar 10 2022, 2:21 AM · Restricted Project, Restricted Project
samtebbs accepted D119556: [AArch64] Custom lower smaller than legal abd/hadd.

Sorry for letting this slip through the cracks for so long, looks good to me.

Mar 10 2022, 2:18 AM · Restricted Project, Restricted Project
samtebbs accepted D118584: [AArch64] Combine ISD::AND into AArch64ISD::ANDS.

Nice one. LGTM if david has no other comments

Mar 10 2022, 2:16 AM · Restricted Project, Restricted Project
samtebbs added inline comments to D121137: [AArch64] Lower 3 and 4 sources buildvectors to TBL.
Mar 10 2022, 2:12 AM · Restricted Project, Restricted Project

Mar 9 2022

samtebbs accepted D121139: [AArch64] TBL uses zero for out of range elements..

LGTM

Mar 9 2022, 2:29 AM · Restricted Project, Restricted Project
samtebbs added inline comments to D119880: [FuncSpec] Support function specialization across multiple arguments..
Mar 9 2022, 2:19 AM · Restricted Project, Restricted Project

Jan 27 2022

samtebbs added a comment to D117592: [ARM][AArch64] Introduce qrdmlah and qrdmlsh intrinsics.

Ah I see, makes sense. LGTM

Jan 27 2022, 9:12 AM · Restricted Project, Restricted Project
samtebbs added inline comments to D117592: [ARM][AArch64] Introduce qrdmlah and qrdmlsh intrinsics.
Jan 27 2022, 7:16 AM · Restricted Project, Restricted Project
samtebbs accepted D118327: [AArch64] Genereate CCMP from And CSel.

LGTM

Jan 27 2022, 7:09 AM · Restricted Project

Dec 14 2021

samtebbs accepted D114939: [ARM] Verify addressing immediates.
Dec 14 2021, 3:26 AM · Restricted Project
samtebbs added a comment to D114939: [ARM] Verify addressing immediates.

I'm wondering if this verification could be done for us automatically, because the tablegen operands presumably already check what the immediate is before it's allowed to become a t2_addrmode_i7 etc. If that isn't possible then this LGTM.

Dec 14 2021, 3:26 AM · Restricted Project
samtebbs accepted D115185: [ARM] Fold away CMP/CSINC from CMOV.

Perfect, LGTM

Dec 14 2021, 3:20 AM · Restricted Project
samtebbs accepted D115242: [ARM] Handle splats of constants for MVE qr instruction.

Nice one

Dec 14 2021, 3:19 AM · Restricted Project

Dec 9 2021

samtebbs added inline comments to D115242: [ARM] Handle splats of constants for MVE qr instruction.
Dec 9 2021, 9:17 AM · Restricted Project
samtebbs accepted D115188: [ARM] Extend IsCMPZCSINC to handle CMOV.

LGTM

Dec 9 2021, 9:07 AM · Restricted Project
samtebbs added inline comments to D115185: [ARM] Fold away CMP/CSINC from CMOV.
Dec 9 2021, 9:02 AM · Restricted Project
samtebbs added a comment to D114939: [ARM] Verify addressing immediates.

Is this the kind of constraint that can be baked into the operand type in the instruction's (ins ...) in tablegen?

Dec 9 2021, 8:44 AM · Restricted Project

Nov 26 2021

samtebbs accepted D114349: [ARM] CSINC/CSINV patterns from CMOV.

👍

Nov 26 2021, 7:12 AM · Restricted Project
samtebbs accepted D114636: [ARM] Correct range in isLegalAddressImm.

Nice

Nov 26 2021, 7:08 AM · Restricted Project
samtebbs accepted D114449: [ARM] Make v2i1 legal.

Great, LGTM

Nov 26 2021, 7:07 AM · Restricted Project
samtebbs accepted D114380: [ARM] Teach getIntImmCostInst about the cost of saturating fp converts.

LGTM

Nov 26 2021, 7:06 AM · Restricted Project

Nov 25 2021

samtebbs accepted D114455: [ARM] Use v2i1 for MVE and CDE intrinsics.

LGTM

Nov 25 2021, 8:07 AM · Restricted Project, Restricted Project
samtebbs added a comment to D114449: [ARM] Make v2i1 legal.

LGTM with a couple of changes

Nov 25 2021, 8:04 AM · Restricted Project

Nov 24 2021

samtebbs accepted D114360: [ARM] Convert fptoi.sat to fixed point multiply.

Nice

Nov 24 2021, 2:55 AM · Restricted Project
samtebbs accepted D114177: [ARM] Generate VCTP from SETCC.

LGTM

Nov 24 2021, 2:52 AM · Restricted Project

Nov 15 2021

samtebbs accepted D113574: [ARM] Fold floating point select(binop) patterns.

Very nice

Nov 15 2021, 2:14 AM · Restricted Project
samtebbs accepted D113584: [ARM] Fold (fadd x, (vselect c, y, -1.0)) into (vselect c, (fadd x, y), x).

LGTM with one request

Nov 15 2021, 2:11 AM · Restricted Project

Nov 10 2021

samtebbs accepted D112994: [AArch64] Sink splat shuffles to lane index intrinsics.

LGTM!

Nov 10 2021, 6:34 AM · Restricted Project