Page MenuHomePhabricator

goldstein.w.n (Noah Goldstein)
User

Projects

User does not belong to any projects.

User Details

User Since
Nov 6 2021, 11:04 AM (71 w, 6 d)

Recent Activity

Wed, Mar 22

goldstein.w.n added a comment to D142666: [DAGCombiner] Transform ABS(X) eq/ne 0/IntMin -> X eq/ne 0/IntMIn.

@goldstein.w.n reverse-ping - whats the plan for this patch?

@RKSimon does this show up in any codegen that went throw the middle-end?

There isn't that much in DAG that generates ABS nodes - foldAndOrOfSETCC is the closest to this I suppose?

Wed, Mar 22, 11:51 AM · Restricted Project, Restricted Project
goldstein.w.n added a comment to D142666: [DAGCombiner] Transform ABS(X) eq/ne 0/IntMin -> X eq/ne 0/IntMIn.

@goldstein.w.n reverse-ping - whats the plan for this patch?

Wed, Mar 22, 10:49 AM · Restricted Project, Restricted Project
goldstein.w.n abandoned D142666: [DAGCombiner] Transform ABS(X) eq/ne 0/IntMin -> X eq/ne 0/IntMIn.

@goldstein.w.n reverse-ping - whats the plan for this patch?

Wed, Mar 22, 10:45 AM · Restricted Project, Restricted Project

Mon, Mar 20

goldstein.w.n added inline comments to D144492: [InstCombine] Support multiple comparisons in foldAllocaCmp().
Mon, Mar 20, 9:37 AM · Restricted Project, Restricted Project
goldstein.w.n added inline comments to D144492: [InstCombine] Support multiple comparisons in foldAllocaCmp().
Mon, Mar 20, 9:16 AM · Restricted Project, Restricted Project

Sat, Mar 18

goldstein.w.n added inline comments to D146347: [InstCombine] Improve transforms for `(mul X, Y)` -> `(shl X, log2(Y)`.
Sat, Mar 18, 2:01 PM · Restricted Project, Restricted Project
goldstein.w.n updated the diff for D146350: [InstCombine] More aggressively try and fold irem/idiv/mul into selects..

Rebase

Sat, Mar 18, 2:00 PM · Restricted Project, Restricted Project
goldstein.w.n updated the diff for D146349: [InstCombine] Make `FoldOpIntoSelect` handle non-constants and use condition to deduce constants..

Rebase

Sat, Mar 18, 2:00 PM · Restricted Project, Restricted Project
goldstein.w.n updated the diff for D146348: [InstCombine] Add more tests for folding irem/idiv/mul with select; NFC.

Rebase

Sat, Mar 18, 2:00 PM · Restricted Project, Restricted Project
goldstein.w.n updated the diff for D146347: [InstCombine] Improve transforms for `(mul X, Y)` -> `(shl X, log2(Y)`.

Propegate nuw flag

Sat, Mar 18, 2:00 PM · Restricted Project, Restricted Project
goldstein.w.n updated the diff for D146346: [InstCombine] Add tests for indirect mul by power of 2; NFC.

Add flag propegation test

Sat, Mar 18, 1:59 PM · Restricted Project, Restricted Project
goldstein.w.n updated the diff for D146350: [InstCombine] More aggressively try and fold irem/idiv/mul into selects..

Rebase

Sat, Mar 18, 1:52 PM · Restricted Project, Restricted Project
goldstein.w.n updated the diff for D146349: [InstCombine] Make `FoldOpIntoSelect` handle non-constants and use condition to deduce constants..

Rebase

Sat, Mar 18, 1:51 PM · Restricted Project, Restricted Project
goldstein.w.n updated the diff for D146348: [InstCombine] Add more tests for folding irem/idiv/mul with select; NFC.

Rebase

Sat, Mar 18, 1:51 PM · Restricted Project, Restricted Project
goldstein.w.n updated the diff for D146347: [InstCombine] Improve transforms for `(mul X, Y)` -> `(shl X, log2(Y)`.

Rebase

Sat, Mar 18, 1:51 PM · Restricted Project, Restricted Project
goldstein.w.n updated the diff for D146346: [InstCombine] Add tests for indirect mul by power of 2; NFC.

Put tests in canonical commuted form. Add multiuse tests

Sat, Mar 18, 1:51 PM · Restricted Project, Restricted Project

Fri, Mar 17

goldstein.w.n added reviewers for D146350: [InstCombine] More aggressively try and fold irem/idiv/mul into selects.: nikic, spatel, majnemer.
Fri, Mar 17, 7:07 PM · Restricted Project, Restricted Project
goldstein.w.n added reviewers for D146348: [InstCombine] Add more tests for folding irem/idiv/mul with select; NFC: nikic, spatel, majnemer.
Fri, Mar 17, 7:06 PM · Restricted Project, Restricted Project
goldstein.w.n added reviewers for D146349: [InstCombine] Make `FoldOpIntoSelect` handle non-constants and use condition to deduce constants.: nikic, majnemer, spatel.
Fri, Mar 17, 7:06 PM · Restricted Project, Restricted Project
goldstein.w.n added reviewers for D146347: [InstCombine] Improve transforms for `(mul X, Y)` -> `(shl X, log2(Y)`: nikic, spatel, majnemer.
Fri, Mar 17, 7:06 PM · Restricted Project, Restricted Project
goldstein.w.n retitled D146346: [InstCombine] Add tests for indirect mul by power of 2; NFC from Add tests for indirect mul by power of 2; NFC to [InstCombine] Add tests for indirect mul by power of 2; NFC.
Fri, Mar 17, 7:05 PM · Restricted Project, Restricted Project
goldstein.w.n requested review of D146350: [InstCombine] More aggressively try and fold irem/idiv/mul into selects..
Fri, Mar 17, 7:05 PM · Restricted Project, Restricted Project
goldstein.w.n requested review of D146349: [InstCombine] Make `FoldOpIntoSelect` handle non-constants and use condition to deduce constants..
Fri, Mar 17, 7:05 PM · Restricted Project, Restricted Project
goldstein.w.n requested review of D146348: [InstCombine] Add more tests for folding irem/idiv/mul with select; NFC.
Fri, Mar 17, 7:04 PM · Restricted Project, Restricted Project
goldstein.w.n requested review of D146347: [InstCombine] Improve transforms for `(mul X, Y)` -> `(shl X, log2(Y)`.
Fri, Mar 17, 7:04 PM · Restricted Project, Restricted Project
goldstein.w.n requested review of D146346: [InstCombine] Add tests for indirect mul by power of 2; NFC.
Fri, Mar 17, 7:04 PM · Restricted Project, Restricted Project

Thu, Mar 16

goldstein.w.n added inline comments to D125717: [InstCombine] Optimize and of icmps with power-of-2 and contiguous masks.
Thu, Mar 16, 11:24 AM · Restricted Project, Restricted Project
goldstein.w.n added inline comments to D145299: [InstCombine] Generate better code for std::bit_ceil.
Thu, Mar 16, 11:15 AM · Restricted Project, Restricted Project
goldstein.w.n committed rG994cd986f1a3: [InstCombine] Add tests for combining (urem/srem (mul/shl X, Y), (mul/shl X… (authored by goldstein.w.n).
[InstCombine] Add tests for combining (urem/srem (mul/shl X, Y), (mul/shl X…
Thu, Mar 16, 11:03 AM · Restricted Project, Restricted Project
goldstein.w.n committed rGaba71f37d00c: [InstCombine] Add constant combines for `(urem/srem (mul X, Y), (mul X, Z))` (authored by goldstein.w.n).
[InstCombine] Add constant combines for `(urem/srem (mul X, Y), (mul X, Z))`
Thu, Mar 16, 11:03 AM · Restricted Project, Restricted Project
goldstein.w.n closed D143014: Add constant combines for `(urem/srem (mul X, Y), (mul X, Z))`.
Thu, Mar 16, 11:02 AM · Restricted Project, Restricted Project
goldstein.w.n closed D143013: [InstCombine] Add tests for combining (urem/srem (mul/shl X, Y), (mul/shl X, Z)); NFC.
Thu, Mar 16, 11:02 AM · Restricted Project, Restricted Project
goldstein.w.n added a comment to D141653: [X86] Improve instruction ordering of constant `srl/shl` with `and` to get better and-masks.

@goldstein.w.n What is happening with this patch? After they leave my "Ready to Review" list I tend to lose track......

Thu, Mar 16, 10:42 AM · Restricted Project, Restricted Project
goldstein.w.n added a comment to D145846: [InstCombine] enhance icmp with sub folds.

The new IR with and removes a use of the input variable, which is better for analysis.

"and" -> And (otherwise it looks like the conjugation, not the operator.

Thu, Mar 16, 10:36 AM · Restricted Project, Restricted Project
goldstein.w.n added inline comments to D145846: [InstCombine] enhance icmp with sub folds.
Thu, Mar 16, 10:35 AM · Restricted Project, Restricted Project

Wed, Mar 15

goldstein.w.n added a comment to D145220: [X86][InstCombine] Simplify some `pternlog` intrinsics.

ping.

Wed, Mar 15, 2:47 PM · Restricted Project, Restricted Project
goldstein.w.n added inline comments to D145221: [X86] Prefer `vpternlog` instead of `blendv` for `vselect` on masks..
Wed, Mar 15, 2:45 PM · Restricted Project, Restricted Project
goldstein.w.n accepted D146149: [InstCombine] Canonicalize icmp eq pow2 more thoroughly.

LGTM.

Wed, Mar 15, 2:02 PM · Restricted Project, Restricted Project
goldstein.w.n added inline comments to D146121: [DAG] Move lshr narrowing from visitANDLike to SimplifyDemandedBits (WIP).
Wed, Mar 15, 11:47 AM · Restricted Project, Restricted Project

Mon, Mar 13

goldstein.w.n added inline comments to D143014: Add constant combines for `(urem/srem (mul X, Y), (mul X, Z))`.
Mon, Mar 13, 12:10 AM · Restricted Project, Restricted Project
goldstein.w.n updated the diff for D143417: [InstCombine] Add fold for `(rem (mul/shl X, Y), (mul/shl X, Z))` -> `(mul X, (rem Y, Z))`.

Rebase

Mon, Mar 13, 12:09 AM · Restricted Project, Restricted Project
goldstein.w.n updated the diff for D144225: [InstCombine] Add constant combines for `(urem/srem (shl X, Y), (shl X, Z))`.

Rebase

Mon, Mar 13, 12:08 AM · Restricted Project, Restricted Project
goldstein.w.n updated the diff for D143014: Add constant combines for `(urem/srem (mul X, Y), (mul X, Z))`.

Fix nits

Mon, Mar 13, 12:08 AM · Restricted Project, Restricted Project
goldstein.w.n updated the diff for D143013: [InstCombine] Add tests for combining (urem/srem (mul/shl X, Y), (mul/shl X, Z)); NFC.

Rebase

Mon, Mar 13, 12:08 AM · Restricted Project, Restricted Project

Wed, Mar 8

goldstein.w.n committed rG8ac8c579e214: [X86] Add masked predicate execution variants for instructions in… (authored by goldstein.w.n).
[X86] Add masked predicate execution variants for instructions in…
Wed, Mar 8, 9:58 AM · Restricted Project, Restricted Project
goldstein.w.n committed rG6b29a6f27d40: [X86] Add support for using Sched/Codesize information to `X86FixupInstTuning`… (authored by goldstein.w.n).
[X86] Add support for using Sched/Codesize information to `X86FixupInstTuning`…
Wed, Mar 8, 9:58 AM · Restricted Project, Restricted Project
goldstein.w.n committed rG6dbf894b8066: [X86] Add ICX target in `unpckpd` tuning tests; NFC (authored by goldstein.w.n).
[X86] Add ICX target in `unpckpd` tuning tests; NFC
Wed, Mar 8, 9:58 AM · Restricted Project, Restricted Project
goldstein.w.n closed D144763: [X86] Add masked predicate execution variants for instructions in X86FixupInstTuning.
Wed, Mar 8, 9:58 AM · Restricted Project, Restricted Project
goldstein.w.n closed D144570: [X86] Add support for using Sched/Codesize information to `X86FixupInstTuning` Pass..
Wed, Mar 8, 9:58 AM · Restricted Project, Restricted Project
goldstein.w.n closed D145531: [X86] Add ICX target in `unpckpd` tuning tests; NFC.
Wed, Mar 8, 9:58 AM · Restricted Project, Restricted Project

Tue, Mar 7

goldstein.w.n updated the diff for D144763: [X86] Add masked predicate execution variants for instructions in X86FixupInstTuning.

Rebase

Tue, Mar 7, 7:05 PM · Restricted Project, Restricted Project
goldstein.w.n updated the diff for D144570: [X86] Add support for using Sched/Codesize information to `X86FixupInstTuning` Pass..

Add common check for AVX2

Tue, Mar 7, 7:05 PM · Restricted Project, Restricted Project
goldstein.w.n updated the diff for D145531: [X86] Add ICX target in `unpckpd` tuning tests; NFC.

Rebase

Tue, Mar 7, 7:04 PM · Restricted Project, Restricted Project
goldstein.w.n added reviewers for D145531: [X86] Add ICX target in `unpckpd` tuning tests; NFC: RKSimon, pengfei.
Tue, Mar 7, 4:25 PM · Restricted Project, Restricted Project
goldstein.w.n updated the diff for D144763: [X86] Add masked predicate execution variants for instructions in X86FixupInstTuning.

Rebase

Tue, Mar 7, 4:25 PM · Restricted Project, Restricted Project
goldstein.w.n updated the diff for D144570: [X86] Add support for using Sched/Codesize information to `X86FixupInstTuning` Pass..

Nit + ICX

Tue, Mar 7, 4:25 PM · Restricted Project, Restricted Project
goldstein.w.n added a comment to D144570: [X86] Add support for using Sched/Codesize information to `X86FixupInstTuning` Pass..

Add ICX test runs to tuning-shuffle-unpckpd.ll so we have test coverage ?

Tue, Mar 7, 4:25 PM · Restricted Project, Restricted Project
goldstein.w.n requested review of D145531: [X86] Add ICX target in `unpckpd` tuning tests; NFC.
Tue, Mar 7, 4:24 PM · Restricted Project, Restricted Project

Mon, Mar 6

goldstein.w.n committed rGc1ecd0a3f49a: [DAGCombiner] Add fold for `~x + x` -> `-1` (authored by goldstein.w.n).
[DAGCombiner] Add fold for `~x + x` -> `-1`
Mon, Mar 6, 6:32 PM · Restricted Project, Restricted Project
goldstein.w.n committed rGd4b24b4a5582: [DAGCombiner] Add fold for `~x & x` -> `0` (authored by goldstein.w.n).
[DAGCombiner] Add fold for `~x & x` -> `0`
Mon, Mar 6, 6:32 PM · Restricted Project, Restricted Project
goldstein.w.n committed rGc622c1383abb: [X86] Add test for `~x & x` -> `0` and `~x + x` -> `-1` in DAG Lowering; NFC (authored by goldstein.w.n).
[X86] Add test for `~x & x` -> `0` and `~x + x` -> `-1` in DAG Lowering; NFC
Mon, Mar 6, 6:32 PM · Restricted Project, Restricted Project
goldstein.w.n committed rG5a3d9e06170a: [InstCombine] Transform `(shift X,Or(Y,BitWidth-1))` -> `(shift X,BitWidth-1)` (authored by goldstein.w.n).
[InstCombine] Transform `(shift X,Or(Y,BitWidth-1))` -> `(shift X,BitWidth-1)`
Mon, Mar 6, 6:31 PM · Restricted Project, Restricted Project
goldstein.w.n committed rG9bb409ff1d0c: [InstCombine] Add tests for transform `(shift X,(Or Y, BitWidth-1))`; NFC (authored by goldstein.w.n).
[InstCombine] Add tests for transform `(shift X,(Or Y, BitWidth-1))`; NFC
Mon, Mar 6, 6:31 PM · Restricted Project, Restricted Project
goldstein.w.n closed D145177: [DAGCombiner] Add fold for `~x + x` -> `-1`.
Mon, Mar 6, 6:31 PM · Restricted Project, Restricted Project
goldstein.w.n committed rG46864f3b68f7: [InstSimplify] Simplify `(shl nsw nuw X, BitWidth - 1)` -> `0` (authored by goldstein.w.n).
[InstSimplify] Simplify `(shl nsw nuw X, BitWidth - 1)` -> `0`
Mon, Mar 6, 6:31 PM · Restricted Project, Restricted Project
goldstein.w.n closed D145143: [DAGCombiner] Add fold for `~x & x` -> `0`.
Mon, Mar 6, 6:31 PM · Restricted Project, Restricted Project
goldstein.w.n committed rGa1771ad1d512: [InstSimplify] Add tests for `(shl nuw nsw X, BitWidth - 1)` -> `0`; NFC (authored by goldstein.w.n).
[InstSimplify] Add tests for `(shl nuw nsw X, BitWidth - 1)` -> `0`; NFC
Mon, Mar 6, 6:31 PM · Restricted Project, Restricted Project
goldstein.w.n closed D145142: [X86] Add test for `~x & x` -> `0` in DAG Lowering; NFC.
Mon, Mar 6, 6:31 PM · Restricted Project, Restricted Project
goldstein.w.n committed rGe2079e896aa1: [InstCombine] Add transform `(icmp eq/ne bitreverse(x), C)` -> `(icmp eq/ne x… (authored by goldstein.w.n).
[InstCombine] Add transform `(icmp eq/ne bitreverse(x), C)` -> `(icmp eq/ne x…
Mon, Mar 6, 6:31 PM · Restricted Project, Restricted Project
goldstein.w.n closed D145326: [InstCombine] Transform `(shift X,Or(Y,BitWidth-1))` -> `(shift X,BitWidth-1)`.
Mon, Mar 6, 6:31 PM · Restricted Project, Restricted Project
goldstein.w.n committed rGa4bb08eaf4ac: [InstCombine] Add tests for `(icmp eq/ne bitreverse(x), C)`; NFC (authored by goldstein.w.n).
[InstCombine] Add tests for `(icmp eq/ne bitreverse(x), C)`; NFC
Mon, Mar 6, 6:31 PM · Restricted Project, Restricted Project
goldstein.w.n closed D145334: [InstCombine] Add tests for transform `(shift X,(Or Y, BitWidth-1))`; NFC.
Mon, Mar 6, 6:31 PM · Restricted Project, Restricted Project
goldstein.w.n closed D145327: [InstSimplify] Simplify `(shl nsw nuw X, BitWidth - 1)` -> `0`.
Mon, Mar 6, 6:31 PM · Restricted Project, Restricted Project
goldstein.w.n closed D145335: [InstSimplify] Add tests for `(shl nuw nsw X, BitWidth - 1)` -> `0`; NFC.
Mon, Mar 6, 6:31 PM · Restricted Project, Restricted Project
goldstein.w.n closed D145339: [InstCombine] Add transform `(icmp eq/ne bitreverse(x), C)` -> `(icmp eq/ne x, bitreverse(C))`.
Mon, Mar 6, 6:31 PM · Restricted Project, Restricted Project
goldstein.w.n closed D145338: [InstCombine] Add tests for `(icmp eq/ne bitreverse(x), C)`; NFC.
Mon, Mar 6, 6:31 PM · Restricted Project, Restricted Project
goldstein.w.n added reviewers for D145456: [InstSimplify] Add tests for simplifying `min/max(Intrin(X), X)`; NFC: nikic, spatel, majnemer.
Mon, Mar 6, 6:09 PM · Restricted Project, Restricted Project
goldstein.w.n added reviewers for D145457: [InstSimplify] Add simplifications for `umin/umax(uadd/usub.sat(X, Y), X)`: nikic, spatel, majnemer.
Mon, Mar 6, 6:08 PM · Restricted Project, Restricted Project
goldstein.w.n added reviewers for D145458: [InstSimplify] Add simplifications for `min/max(Abs(X), X)`: nikic, spatel, majnemer.
Mon, Mar 6, 6:08 PM · Restricted Project, Restricted Project
goldstein.w.n requested review of D145458: [InstSimplify] Add simplifications for `min/max(Abs(X), X)`.
Mon, Mar 6, 6:07 PM · Restricted Project, Restricted Project
goldstein.w.n requested review of D145457: [InstSimplify] Add simplifications for `umin/umax(uadd/usub.sat(X, Y), X)`.
Mon, Mar 6, 6:07 PM · Restricted Project, Restricted Project
goldstein.w.n requested review of D145456: [InstSimplify] Add tests for simplifying `min/max(Intrin(X), X)`; NFC.
Mon, Mar 6, 6:06 PM · Restricted Project, Restricted Project
goldstein.w.n added reviewers for D145424: [InstCombine] Add tests for transforming `(icmp pred (and X, Y), X)`; NFC: nikic, spatel, majnemer.
Mon, Mar 6, 2:19 PM · Restricted Project, Restricted Project
goldstein.w.n added reviewers for D145425: [InstCombine] Transform `(icmp ult/uge (and X, Y), X)` -> `(icmp ne/eq (and X, Y), X)`: nikic, spatel, majnemer.
Mon, Mar 6, 2:18 PM · Restricted Project, Restricted Project
goldstein.w.n added reviewers for D145426: [InstCombine] Add transforms `(icmp spred (and X, Y), X)` if `X` or `Y` are known signed/unsigned: nikic, spatel, majnemer.
Mon, Mar 6, 2:18 PM · Restricted Project, Restricted Project
goldstein.w.n requested review of D145426: [InstCombine] Add transforms `(icmp spred (and X, Y), X)` if `X` or `Y` are known signed/unsigned.
Mon, Mar 6, 2:17 PM · Restricted Project, Restricted Project
goldstein.w.n requested review of D145425: [InstCombine] Transform `(icmp ult/uge (and X, Y), X)` -> `(icmp ne/eq (and X, Y), X)`.
Mon, Mar 6, 2:16 PM · Restricted Project, Restricted Project
goldstein.w.n requested review of D145424: [InstCombine] Add tests for transforming `(icmp pred (and X, Y), X)`; NFC.
Mon, Mar 6, 2:16 PM · Restricted Project, Restricted Project
goldstein.w.n updated the diff for D145281: [InstCombine] Add transforms for `(icmp spred (or X, Y), X)`.

Rebase

Mon, Mar 6, 2:16 PM · Restricted Project, Restricted Project
goldstein.w.n updated the diff for D144610: [InstCombine] Add transforms for `(icmp upred (or X, Y), X)`.

Fix typo

Mon, Mar 6, 2:16 PM · Restricted Project, Restricted Project
goldstein.w.n updated the diff for D144609: [InstCombine] Add tests for transforming `(icmp (or X, Y), X)`; NFC.

Rebase

Mon, Mar 6, 2:15 PM · Restricted Project, Restricted Project
goldstein.w.n updated the diff for D145280: [InstCombine] Add transforms for `(icmp (xor X, Y), X)`.

Rebase

Mon, Mar 6, 2:15 PM · Restricted Project, Restricted Project
goldstein.w.n updated the diff for D144608: [InstCombine] Add transforms for `(icmp {u|s}ge/le (xor X, Y), X)`.

Rebase

Mon, Mar 6, 2:15 PM · Restricted Project, Restricted Project
goldstein.w.n updated the diff for D144607: [InstCombine] Add tests for transforming `(icmp (xor X, Y), X)`; NFC.

Rebase

Mon, Mar 6, 2:15 PM · Restricted Project, Restricted Project
goldstein.w.n updated the diff for D145281: [InstCombine] Add transforms for `(icmp spred (or X, Y), X)`.

Rebase

Mon, Mar 6, 10:54 AM · Restricted Project, Restricted Project
goldstein.w.n updated the diff for D144610: [InstCombine] Add transforms for `(icmp upred (or X, Y), X)`.

Rebase

Mon, Mar 6, 10:54 AM · Restricted Project, Restricted Project
goldstein.w.n updated the diff for D144609: [InstCombine] Add tests for transforming `(icmp (or X, Y), X)`; NFC.

Rebase

Mon, Mar 6, 10:53 AM · Restricted Project, Restricted Project
goldstein.w.n updated the diff for D145280: [InstCombine] Add transforms for `(icmp (xor X, Y), X)`.

Rebase

Mon, Mar 6, 10:53 AM · Restricted Project, Restricted Project
goldstein.w.n updated the diff for D144608: [InstCombine] Add transforms for `(icmp {u|s}ge/le (xor X, Y), X)`.

Rebase

Mon, Mar 6, 10:53 AM · Restricted Project, Restricted Project
goldstein.w.n updated the diff for D144607: [InstCombine] Add tests for transforming `(icmp (xor X, Y), X)`; NFC.

Fixup tests to canonical form

Mon, Mar 6, 10:53 AM · Restricted Project, Restricted Project