Page MenuHomePhabricator
Feed Advanced Search

Today

goldstein.w.n added reviewers for D147274: [InstCombine] Add tests for simplifying `(icmp ({z|s}ext X), C)` where `C` is vector; NFC: nikic, spatel, majnemer.
Thu, Mar 30, 2:30 PM · Restricted Project, Restricted Project
goldstein.w.n added reviewers for D147275: [InstCombine] Extend simplifications for `(icmp ({z|s}ext X), C)` where `C` is vector: nikic, spatel, majnemer.
Thu, Mar 30, 2:30 PM · Restricted Project, Restricted Project
goldstein.w.n requested review of D147275: [InstCombine] Extend simplifications for `(icmp ({z|s}ext X), C)` where `C` is vector.
Thu, Mar 30, 2:29 PM · Restricted Project, Restricted Project
goldstein.w.n requested review of D147274: [InstCombine] Add tests for simplifying `(icmp ({z|s}ext X), C)` where `C` is vector; NFC.
Thu, Mar 30, 2:29 PM · Restricted Project, Restricted Project
goldstein.w.n added a comment to D145219: [X86][InstCombine] Add tests for simplifying pternlog intrinsics; NFC.

@RKSimon this good now?

Thu, Mar 30, 1:04 PM · Restricted Project, Restricted Project
goldstein.w.n added inline comments to D147243: [X86] MatchVectorAllZeroTest - add support for icmp(bitcast(icmp_ne(X,Y)),0) vector reduction patterns.
Thu, Mar 30, 1:01 PM · Restricted Project, Restricted Project
goldstein.w.n added inline comments to D147243: [X86] MatchVectorAllZeroTest - add support for icmp(bitcast(icmp_ne(X,Y)),0) vector reduction patterns.
Thu, Mar 30, 11:19 AM · Restricted Project, Restricted Project

Yesterday

goldstein.w.n added a comment to D142830: [ValueTracking] Improve non-zero tracking of `X` by also searching through `Use(X)` that imply non-zero.

ping 4 @nikic

Wed, Mar 29, 1:15 PM · Restricted Project, Restricted Project
goldstein.w.n updated the diff for D142832: [ValueTracking] Add support in `isKnownNonZero` for dominating condition from `X > C1 && X < C2`.

Rebase

Wed, Mar 29, 1:14 PM · Restricted Project, Restricted Project
goldstein.w.n updated the diff for D142831: [ValueTracking] Add tests cases for `isKnownNonZero` for `X < C1 && X > C2`; NFC.

Rebase

Wed, Mar 29, 1:14 PM · Restricted Project, Restricted Project
goldstein.w.n updated the diff for D142830: [ValueTracking] Improve non-zero tracking of `X` by also searching through `Use(X)` that imply non-zero.

Rebase

Wed, Mar 29, 1:14 PM · Restricted Project, Restricted Project
goldstein.w.n updated the diff for D142829: [ValueTracking] Add tests cases for `isKnownNonZero` provable indirectly; NFC.

Rebase

Wed, Mar 29, 1:13 PM · Restricted Project, Restricted Project
goldstein.w.n added a comment to D145219: [X86][InstCombine] Add tests for simplifying pternlog intrinsics; NFC.

It'd be useful to add tests to see if the relevant ternlog patterns get correctly canonicalized to the useful patterns listed here: http://www.0x80.pl/articles/avx512-ternary-functions.html

In particular - ensuring we fold ternlog -> bitselect -> regular select (if driven by a compare / sign-extended bool vector), and maybe the one-bit-set pattern are of particular interest?

Wed, Mar 29, 10:37 AM · Restricted Project, Restricted Project
goldstein.w.n added inline comments to D145220: [X86][InstCombine] Simplify some `pternlog` intrinsics.
Wed, Mar 29, 10:37 AM · Restricted Project, Restricted Project
goldstein.w.n updated the diff for D145220: [X86][InstCombine] Simplify some `pternlog` intrinsics.

Remove unnecessary NTests loop

Wed, Mar 29, 10:36 AM · Restricted Project, Restricted Project
goldstein.w.n updated the diff for D145219: [X86][InstCombine] Add tests for simplifying pternlog intrinsics; NFC.

Add some known patterns

Wed, Mar 29, 10:36 AM · Restricted Project, Restricted Project
goldstein.w.n added inline comments to D145220: [X86][InstCombine] Simplify some `pternlog` intrinsics.
Wed, Mar 29, 10:05 AM · Restricted Project, Restricted Project

Tue, Mar 28

goldstein.w.n added inline comments to D144225: [InstCombine] Add constant combines for `(urem/srem (shl X, Y), (shl X, Z))`.
Tue, Mar 28, 9:06 PM · Restricted Project, Restricted Project
goldstein.w.n added reviewers for D147108: [InstCombine] Add transforms for `(rem (shl Y, X), (shl Z, X))`: majnemer, spatel, nikic, sdesmalen.
Tue, Mar 28, 9:05 PM · Restricted Project, Restricted Project
goldstein.w.n added reviewers for D147107: [InstCombine] Add test cases for `(rem (shl Y, X), (shl Z, X))`; NFC: nikic, spatel, sdesmalen, majnemer.
Tue, Mar 28, 9:03 PM · 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

Tue, Mar 28, 9:01 PM · Restricted Project, Restricted Project
goldstein.w.n requested review of D147108: [InstCombine] Add transforms for `(rem (shl Y, X), (shl Z, X))`.
Tue, Mar 28, 9:01 PM · Restricted Project, Restricted Project
goldstein.w.n requested review of D147107: [InstCombine] Add test cases for `(rem (shl Y, X), (shl Z, X))`; NFC.
Tue, Mar 28, 9:01 PM · 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))`.

Split of (shl Z, X), (shl Y, X) case. Remove the Shift{Y|Z|X} flags

Tue, Mar 28, 9:01 PM · Restricted Project, Restricted Project
goldstein.w.n added inline comments to D145220: [X86][InstCombine] Simplify some `pternlog` intrinsics.
Tue, Mar 28, 8:20 PM · Restricted Project, Restricted Project
goldstein.w.n updated the diff for D145220: [X86][InstCombine] Simplify some `pternlog` intrinsics.

Add unit tests

Tue, Mar 28, 8:19 PM · Restricted Project, Restricted Project
goldstein.w.n updated the diff for D145219: [X86][InstCombine] Add tests for simplifying pternlog intrinsics; NFC.

Rebase

Tue, Mar 28, 8:19 PM · Restricted Project, Restricted Project
goldstein.w.n added inline comments to D146494: [X86] Combine constant vector inputs for FMA.
Tue, Mar 28, 10:20 AM · Restricted Project, Restricted Project

Sun, Mar 26

goldstein.w.n added a comment to D145280: [InstCombine] Add transforms for `(icmp (xor X, Y), X)`.

Is there any real-world motivation for these xor transforms (and also the signed predicate variants in this patch stack)? If not, I'm not sure this is worthwhile.

Sun, Mar 26, 4:14 PM · Restricted Project, Restricted Project
goldstein.w.n added a comment to D146350: [InstCombine] More aggressively try and fold irem/idiv/mul into selects..

This is not generally legal for div/rem, see https://alive2.llvm.org/ce/z/2iiR26 using one of your tests. This is only legal if the operation is speculatable.

Sun, Mar 26, 4:10 PM · Restricted Project, Restricted Project
goldstein.w.n added inline comments to D144492: [InstCombine] Support multiple comparisons in foldAllocaCmp().
Sun, Mar 26, 4:08 PM · Restricted Project, Restricted Project
goldstein.w.n added inline comments to D145890: [InstCombine] Generate better code for std::bit_floor from libstdc++.
Sun, Mar 26, 3:41 PM · Restricted Project, Restricted Project
goldstein.w.n added inline comments to D145890: [InstCombine] Generate better code for std::bit_floor from libstdc++.
Sun, Mar 26, 3:35 PM · Restricted Project, Restricted Project
goldstein.w.n added inline comments to D146121: [DAG] Move lshr narrowing from visitANDLike to SimplifyDemandedBits (WIP).
Sun, Mar 26, 3:27 PM · Restricted Project, Restricted Project

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