# User Details

User Details

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

# Wed, Mar 22

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 added a comment to D142666: [DAGCombiner] Transform ABS(X) eq/ne 0/IntMin -> X eq/ne 0/IntMIn.

# Mon, Mar 20

Mon, Mar 20

goldstein.w.n added inline comments to D144492: [InstCombine] Support multiple comparisons in foldAllocaCmp().

goldstein.w.n added inline comments to D144492: [InstCombine] Support multiple comparisons in foldAllocaCmp().

# Sat, Mar 18

Sat, Mar 18

goldstein.w.n added inline comments to D146347: [InstCombine] Improve transforms for `(mul X, Y)` -> `(shl X, log2(Y)`.

goldstein.w.n updated the diff for D146350: [InstCombine] More aggressively try and fold irem/idiv/mul into selects..

Rebase

goldstein.w.n updated the diff for D146349: [InstCombine] Make `FoldOpIntoSelect` handle non-constants and use condition to deduce constants..

Rebase

goldstein.w.n updated the diff for D146348: [InstCombine] Add more tests for folding irem/idiv/mul with select; NFC.

Rebase

goldstein.w.n updated the diff for D146347: [InstCombine] Improve transforms for `(mul X, Y)` -> `(shl X, log2(Y)`.

Propegate nuw flag

goldstein.w.n updated the diff for D146346: [InstCombine] Add tests for indirect mul by power of 2; NFC.

Add flag propegation test

goldstein.w.n updated the diff for D146350: [InstCombine] More aggressively try and fold irem/idiv/mul into selects..

Rebase

goldstein.w.n updated the diff for D146349: [InstCombine] Make `FoldOpIntoSelect` handle non-constants and use condition to deduce constants..

Rebase

goldstein.w.n updated the diff for D146348: [InstCombine] Add more tests for folding irem/idiv/mul with select; NFC.

Rebase

goldstein.w.n updated the diff for D146347: [InstCombine] Improve transforms for `(mul X, Y)` -> `(shl X, log2(Y)`.

Rebase

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

# Fri, Mar 17

Fri, Mar 17

goldstein.w.n added reviewers for D146348: [InstCombine] Add more tests for folding irem/idiv/mul with select; NFC: nikic, spatel, majnemer.

goldstein.w.n added reviewers for D146347: [InstCombine] Improve transforms for `(mul X, Y)` -> `(shl X, log2(Y)`: nikic, spatel, majnemer.

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.

goldstein.w.n requested review of D146346: [InstCombine] Add tests for indirect mul by power of 2; NFC.

# Thu, Mar 16

Thu, Mar 16

goldstein.w.n added inline comments to D125717: [InstCombine] Optimize and of icmps with power-of-2 and contiguous masks.

goldstein.w.n added inline comments to D145299: [InstCombine] Generate better code for std::bit_ceil.

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…

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))`

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 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.

goldstein.w.n added inline comments to D145846: [InstCombine] enhance icmp with sub folds.

# Wed, Mar 15

Wed, Mar 15

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

ping.

goldstein.w.n added inline comments to D145221: [X86] Prefer `vpternlog` instead of `blendv` for `vselect` on masks..

LGTM.

goldstein.w.n added inline comments to D146121: [DAG] Move lshr narrowing from visitANDLike to SimplifyDemandedBits (WIP).

# Mon, Mar 13

Mon, Mar 13

goldstein.w.n added inline comments to D143014: Add constant combines for `(urem/srem (mul X, Y), (mul X, Z))`.

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

goldstein.w.n updated the diff for D144225: [InstCombine] Add constant combines for `(urem/srem (shl X, Y), (shl X, Z))`.

Rebase

goldstein.w.n updated the diff for D143014: Add constant combines for `(urem/srem (mul X, Y), (mul X, Z))`.

Fix nits

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

# Wed, Mar 8

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…

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`…

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

# Tue, Mar 7

Tue, Mar 7

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

Rebase

goldstein.w.n updated the diff for D144570: [X86] Add support for using Sched/Codesize information to `X86FixupInstTuning` Pass..

Add common check for AVX2

goldstein.w.n updated the diff for D145531: [X86] Add ICX target in `unpckpd` tuning tests; NFC.

Rebase

goldstein.w.n added reviewers for D145531: [X86] Add ICX target in `unpckpd` tuning tests; NFC: RKSimon, pengfei.

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

Rebase

goldstein.w.n updated the diff for D144570: [X86] Add support for using Sched/Codesize information to `X86FixupInstTuning` Pass..

Nit + ICX

goldstein.w.n added a comment to D144570: [X86] Add support for using Sched/Codesize information to `X86FixupInstTuning` Pass..

goldstein.w.n requested review of D145531: [X86] Add ICX target in `unpckpd` tuning tests; NFC.

# Mon, Mar 6

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`

goldstein.w.n committed rGd4b24b4a5582: [DAGCombiner] Add fold for `~x & x` -> `0` (authored by goldstein.w.n).

[DAGCombiner] Add fold for `~x & x` -> `0`

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

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)`

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

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`

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

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…

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

goldstein.w.n added reviewers for D145456: [InstSimplify] Add tests for simplifying `min/max(Intrin(X), X)`; NFC: nikic, spatel, majnemer.

goldstein.w.n added reviewers for D145458: [InstSimplify] Add simplifications for `min/max(Abs(X), X)`: nikic, spatel, majnemer.

goldstein.w.n requested review of D145458: [InstSimplify] Add simplifications for `min/max(Abs(X), X)`.

goldstein.w.n updated the diff for D145281: [InstCombine] Add transforms for `(icmp spred (or X, Y), X)`.

Rebase

goldstein.w.n updated the diff for D144610: [InstCombine] Add transforms for `(icmp upred (or X, Y), X)`.

Fix typo

goldstein.w.n updated the diff for D144609: [InstCombine] Add tests for transforming `(icmp (or X, Y), X)`; NFC.

Rebase

goldstein.w.n updated the diff for D145280: [InstCombine] Add transforms for `(icmp (xor X, Y), X)`.

Rebase

goldstein.w.n updated the diff for D144608: [InstCombine] Add transforms for `(icmp {u|s}ge/le (xor X, Y), X)`.

Rebase

goldstein.w.n updated the diff for D144607: [InstCombine] Add tests for transforming `(icmp (xor X, Y), X)`; NFC.

Rebase

goldstein.w.n updated the diff for D145281: [InstCombine] Add transforms for `(icmp spred (or X, Y), X)`.

Rebase

goldstein.w.n updated the diff for D144610: [InstCombine] Add transforms for `(icmp upred (or X, Y), X)`.

Rebase

goldstein.w.n updated the diff for D144609: [InstCombine] Add tests for transforming `(icmp (or X, Y), X)`; NFC.

Rebase

goldstein.w.n updated the diff for D145280: [InstCombine] Add transforms for `(icmp (xor X, Y), X)`.

Rebase

goldstein.w.n updated the diff for D144608: [InstCombine] Add transforms for `(icmp {u|s}ge/le (xor X, Y), X)`.

Rebase

goldstein.w.n updated the diff for D144607: [InstCombine] Add tests for transforming `(icmp (xor X, Y), X)`; NFC.

Fixup tests to canonical form