Page MenuHomePhabricator
Feed Advanced Search

Mon, Dec 9

deadalnix updated the diff for D70921: [DAGCombiner] Add node back in the worklist in topological order in CommitTargetLoweringOpt.

Ping, rebase

Mon, Dec 9, 7:00 AM · Restricted Project

Mon, Dec 2

deadalnix created D70921: [DAGCombiner] Add node back in the worklist in topological order in CommitTargetLoweringOpt.
Mon, Dec 2, 1:15 PM · Restricted Project

Sun, Nov 24

deadalnix added a comment to D68195: [DAGCombiner] Peek through vector concats when trying to combine shuffles..

That is indeed the step I was missing. Thanks everybody for getting me up to speed.

Sun, Nov 24, 9:51 AM · Restricted Project

Sat, Nov 23

deadalnix added a comment to D68195: [DAGCombiner] Peek through vector concats when trying to combine shuffles..

Alright, this is the first time I have to commit something with the new github process, and I have to admit, I do not know how to do it - or if I can do it at all. Running git llvm push ask me for a username and password, and my old one do not work. What's the next step for me here?

Did you ever pushed anything to github before, to any other repository?
Did you clone https://github.com/llvm/llvm-project/ via HTTPS or SSH? (should be former!)
It is likely asking for your github login and password.

You may *really* want to follow https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line to create credentials with which you can *only* commit, but do nothing else

Sat, Nov 23, 4:37 PM · Restricted Project
deadalnix added a comment to D68195: [DAGCombiner] Peek through vector concats when trying to combine shuffles..

Alright, this is the first time I have to commit something with the new github process, and I have to admit, I do not know how to do it - or if I can do it at all. Running git llvm push ask me for a username and password, and my old one do not work. What's the next step for me here?

Sat, Nov 23, 10:57 AM · Restricted Project

Fri, Nov 22

deadalnix updated the diff for D68195: [DAGCombiner] Peek through vector concats when trying to combine shuffles..

Address some of the comments

Fri, Nov 22, 3:37 PM · Restricted Project

Wed, Nov 20

deadalnix added a comment to D70079: [SelectionDAG] Combine U{ADD,SUB}O diamonds into {ADD,SUB}CARRY.

I'm a bit late to the party, but this is nothing short of amazing. Congratulations!

Wed, Nov 20, 4:53 PM · Restricted Project

Tue, Nov 19

deadalnix added a comment to D70012: [DAGCombiner] Propagate carry flag for 3+ additions.

Also while I'm at it, first sorry for taking so long to review, I missed that patch. Second, if I understand properly, getting node to be processed in the right order actually can collapse arbitrary long addition chains, but it's not clear how to get there, there is a bit of a wack a mole problem that start poping up every time.

Tue, Nov 19, 3:55 PM · Restricted Project
deadalnix added a comment to D70012: [DAGCombiner] Propagate carry flag for 3+ additions.

Can you please explain a bit more what this is doing? This seems interesting, but I'm not quite sure the pattern is correct.

Tue, Nov 19, 3:46 PM · Restricted Project

Oct 22 2019

deadalnix updated the diff for D68195: [DAGCombiner] Peek through vector concats when trying to combine shuffles..

O => Op

Oct 22 2019, 3:27 PM · Restricted Project
deadalnix accepted D62450: [DAGCombine][ARM] x ==/!= c -> (x - c) ==/!= 0 iff '-c' can be folded into the x node..

It's indeed not clear if what you have is the result of the legalizer. In this case just proceed.

Oct 22 2019, 8:28 AM · Restricted Project
deadalnix updated the diff for D68195: [DAGCombiner] Peek through vector concats when trying to combine shuffles..

Add a few comments

Oct 22 2019, 4:03 AM · Restricted Project

Oct 10 2019

deadalnix updated the diff for D68195: [DAGCombiner] Peek through vector concats when trying to combine shuffles..

Rebase and ping.

Oct 10 2019, 11:22 AM · Restricted Project
deadalnix committed rL374340: [DAGCombine] Match more patterns for half word bswap.
[DAGCombine] Match more patterns for half word bswap
Oct 10 2019, 6:19 AM

Oct 8 2019

deadalnix updated the diff for D68250: [DAGCombine] Match more patterns for half word bswap.

Fix erroneously inverted condition and ensuring previously broken tests are now passing again.

Oct 8 2019, 9:47 AM · Restricted Project
deadalnix committed rL374074: (Re)generate various tests. NFC.
(Re)generate various tests. NFC
Oct 8 2019, 9:23 AM
deadalnix updated the diff for D68232: [DAGCombine] Match a greater range of rotate when not all bits are demanded..

Add test for vector - but nothing changes for them (see rL374043 ) and use isSubsetOf and getAllOnesValue.

Oct 8 2019, 7:10 AM · Restricted Project
deadalnix added inline comments to D68232: [DAGCombine] Match a greater range of rotate when not all bits are demanded..
Oct 8 2019, 6:33 AM · Restricted Project
deadalnix committed rL374043: Add test for rotating truncated vectors. NFC.
Add test for rotating truncated vectors. NFC
Oct 8 2019, 6:14 AM

Oct 7 2019

deadalnix committed rL373908: Regenerate ptr-rotate.ll . NFC.
Regenerate ptr-rotate.ll . NFC
Oct 7 2019, 10:14 PM

Oct 6 2019

deadalnix committed rL373850: [DAGCombine] Match more patterns for half word bswap.
[DAGCombine] Match more patterns for half word bswap
Oct 6 2019, 7:12 AM
deadalnix closed D68250: [DAGCombine] Match more patterns for half word bswap.
Oct 6 2019, 7:12 AM · Restricted Project

Oct 2 2019

deadalnix updated the diff for D68250: [DAGCombine] Match more patterns for half word bswap.

Use isConstOrConstSplat and getAPIntValue

Oct 2 2019, 4:34 AM · Restricted Project

Sep 30 2019

deadalnix created D68250: [DAGCombine] Match more patterns for half word bswap.
Sep 30 2019, 3:54 PM · Restricted Project
deadalnix committed rL373271: Add partial bswap test to the X86 backend. NFC.
Add partial bswap test to the X86 backend. NFC
Sep 30 2019, 3:52 PM
deadalnix committed rL373269: [DAGCombiner] Clang format MatchRotate. NFC.
[DAGCombiner] Clang format MatchRotate. NFC
Sep 30 2019, 2:42 PM
deadalnix updated the diff for D68232: [DAGCombine] Match a greater range of rotate when not all bits are demanded..

Rebase on top of NFC changes

Sep 30 2019, 2:42 PM · Restricted Project
deadalnix committed rL373260: [DAGCombiner] Update MatchRotate so that it returns an SDValue. NFC.
[DAGCombiner] Update MatchRotate so that it returns an SDValue. NFC
Sep 30 2019, 1:46 PM
deadalnix added inline comments to D68232: [DAGCombine] Match a greater range of rotate when not all bits are demanded..
Sep 30 2019, 1:24 PM · Restricted Project
deadalnix created D68232: [DAGCombine] Match a greater range of rotate when not all bits are demanded..
Sep 30 2019, 9:41 AM · Restricted Project
deadalnix committed rL373223: Add tests for rotate with demanded bits. NFC.
Add tests for rotate with demanded bits. NFC
Sep 30 2019, 9:25 AM

Sep 29 2019

deadalnix created D68195: [DAGCombiner] Peek through vector concats when trying to combine shuffles..
Sep 29 2019, 11:02 AM · Restricted Project
deadalnix committed rL373171: Add test case peeking through vector concat when combining insert into shuffles..
Add test case peeking through vector concat when combining insert into shuffles.
Sep 29 2019, 10:52 AM

Sep 19 2019

deadalnix committed rL372327: [DAGCombiner] Add node to the worklist in topological order in….
[DAGCombiner] Add node to the worklist in topological order in…
Sep 19 2019, 7:23 AM
deadalnix closed D66661: [DAGCombiner] Add node to the worklist in topological order in scalarizeExtractedVectorLoad.
Sep 19 2019, 7:23 AM · Restricted Project

Sep 3 2019

deadalnix added a comment to D62392: [DAGCombine][ARM] (sub Carry, X) -> (addcarry (sub 0, X), 0, Carry) fold.

Ping ?

Sep 3 2019, 7:04 PM · Restricted Project

Aug 31 2019

deadalnix committed rL370578: [DAGCombiner] Match (add X, X) as (shl X, 1) when detecting rotate..
[DAGCombiner] Match (add X, X) as (shl X, 1) when detecting rotate.
Aug 31 2019, 4:39 AM
deadalnix closed D66882: [DAGCombiner] Match (add X, X) as (shl X, 1) when detecting rotate..
Aug 31 2019, 4:38 AM · Restricted Project
deadalnix added inline comments to D66882: [DAGCombiner] Match (add X, X) as (shl X, 1) when detecting rotate..
Aug 31 2019, 4:10 AM · Restricted Project

Aug 30 2019

deadalnix added inline comments to D66882: [DAGCombiner] Match (add X, X) as (shl X, 1) when detecting rotate..
Aug 30 2019, 2:02 PM · Restricted Project
deadalnix added inline comments to D66882: [DAGCombiner] Match (add X, X) as (shl X, 1) when detecting rotate..
Aug 30 2019, 10:13 AM · Restricted Project
deadalnix updated the diff for D66882: [DAGCombiner] Match (add X, X) as (shl X, 1) when detecting rotate..

Add tests for the commutative case.
Precommit tests.

Aug 30 2019, 6:55 AM · Restricted Project
deadalnix committed rL370464: [X86] Add tests for rotate matching. NFC.
[X86] Add tests for rotate matching. NFC
Aug 30 2019, 4:37 AM

Aug 29 2019

deadalnix updated the diff for D66882: [DAGCombiner] Match (add X, X) as (shl X, 1) when detecting rotate..

Tighten the checks before creating the node.

Aug 29 2019, 9:42 AM · Restricted Project
deadalnix updated the diff for D66882: [DAGCombiner] Match (add X, X) as (shl X, 1) when detecting rotate..
  • Avoid creating the shift node when not stricly required.
  • Add negative tests.
Aug 29 2019, 5:20 AM · Restricted Project
deadalnix added a comment to D66882: [DAGCombiner] Match (add X, X) as (shl X, 1) when detecting rotate..

I looked at the problem that @spatel ran into. It is not applicable to DAGCombiner, because the DAG is processed only once rather than in a loop as long as it is modified. I wouldn't be possible to change it to work like InstCombine does as there are a ton of A -> B -> A type of tranforms. That being said, it's not a good reason to add more, so it's worth looking into improving this if possible.

Aug 29 2019, 3:45 AM · Restricted Project
deadalnix added a comment to D66882: [DAGCombiner] Match (add X, X) as (shl X, 1) when detecting rotate..

Pattern look good to me, but i recall having disscussion in https://reviews.llvm.org/D64275#inline-576684
Granted, that is InstCombine, but what happens here if we create instruction but then fail to fold?

Aug 29 2019, 3:40 AM · Restricted Project
deadalnix committed rL370326: [DAGCombiner] (insert_vector_elt (vector_shuffle X, Y), (extract_vector_elt X….
[DAGCombiner] (insert_vector_elt (vector_shuffle X, Y), (extract_vector_elt X…
Aug 29 2019, 3:35 AM
deadalnix closed D66718: [DAGCombiner] (insert_vector_elt (vector_shuffle X, Y), (extract_vector_elt X, N), IdxC) -> (vector_shuffle X, Y).
Aug 29 2019, 3:35 AM · Restricted Project

Aug 28 2019

deadalnix updated the diff for D66718: [DAGCombiner] (insert_vector_elt (vector_shuffle X, Y), (extract_vector_elt X, N), IdxC) -> (vector_shuffle X, Y).

IndexC => ExtrIndex

Aug 28 2019, 9:06 AM · Restricted Project
deadalnix created D66882: [DAGCombiner] Match (add X, X) as (shl X, 1) when detecting rotate..
Aug 28 2019, 7:03 AM · Restricted Project
deadalnix committed rL370203: [X86] Add test for rotate combining when add X, X is used instead of shl X, 1..
[X86] Add test for rotate combining when add X, X is used instead of shl X, 1.
Aug 28 2019, 6:54 AM
deadalnix added inline comments to D66718: [DAGCombiner] (insert_vector_elt (vector_shuffle X, Y), (extract_vector_elt X, N), IdxC) -> (vector_shuffle X, Y).
Aug 28 2019, 5:03 AM · Restricted Project
deadalnix committed rL370190: [TargetLowering] Add buildLegalVectorShuffle facility to help build legal….
[TargetLowering] Add buildLegalVectorShuffle facility to help build legal…
Aug 28 2019, 5:01 AM
deadalnix closed D66804: [TargetLowering] Add buildLegalVectorShuffle facility to help build legal shuffles.
Aug 28 2019, 5:00 AM · Restricted Project
deadalnix updated the diff for D66804: [TargetLowering] Add buildLegalVectorShuffle facility to help build legal shuffles.

Upadte the doc comment to make it clear that the Mask argument can be modified.

Aug 28 2019, 4:56 AM · Restricted Project

Aug 27 2019

deadalnix added a comment to D66537: [DAGCombiner] Remove a bunch of redundant AddToWorklist calls..

@nathanchance Thanks for this. Having a test case will help tremendously. Sorry for the inconvenience.

Aug 27 2019, 3:34 PM · Restricted Project
deadalnix updated the diff for D66718: [DAGCombiner] (insert_vector_elt (vector_shuffle X, Y), (extract_vector_elt X, N), IdxC) -> (vector_shuffle X, Y).

Rebase on top of D66804

Aug 27 2019, 8:03 AM · Restricted Project
deadalnix created D66804: [TargetLowering] Add buildLegalVectorShuffle facility to help build legal shuffles.
Aug 27 2019, 7:50 AM · Restricted Project
deadalnix committed rL370056: [DAGCombiner] Add node to the worklist in topological order in….
[DAGCombiner] Add node to the worklist in topological order in…
Aug 27 2019, 6:37 AM
deadalnix added a comment to D66718: [DAGCombiner] (insert_vector_elt (vector_shuffle X, Y), (extract_vector_elt X, N), IdxC) -> (vector_shuffle X, Y).

Looks like the link was incorrect, this didn't auto-close?

Aug 27 2019, 5:00 AM · Restricted Project
deadalnix committed rL370040: [DAGCombiner] Add node to the worklist in topological order after….
[DAGCombiner] Add node to the worklist in topological order after…
Aug 27 2019, 4:16 AM
deadalnix closed D66702: [DAGCombiner] Add node to the worklist in topological order after relegalization..
Aug 27 2019, 4:11 AM · Restricted Project

Aug 26 2019

deadalnix added a comment to D66659: [DAGCombiner] Add node to the worklist in topological order in parallelizeChainedStores.

Because the order in which nodes are traversed is not reliable, it is very hard to come up with a test for this. Ultimately, this is part of a larger body of work that intend to ensure nodes are processed in topological order by DAGCombiner. Even if they do not change the codegen, doing these changes are useful as they reduce the pressure on the logic that maintains the topological order.

Aug 26 2019, 10:56 AM · Restricted Project
deadalnix committed rL369927: [DAGCombiner] Remove a bunch of redundant AddToWorklist calls..
[DAGCombiner] Remove a bunch of redundant AddToWorklist calls.
Aug 26 2019, 10:20 AM
deadalnix added inline comments to D66718: [DAGCombiner] (insert_vector_elt (vector_shuffle X, Y), (extract_vector_elt X, N), IdxC) -> (vector_shuffle X, Y).
Aug 26 2019, 10:20 AM · Restricted Project
deadalnix updated the diff for D66537: [DAGCombiner] Remove a bunch of redundant AddToWorklist calls..

Add TODOs

Aug 26 2019, 9:59 AM · Restricted Project
deadalnix committed rL369909: [X86] Automatically generate various tests. NFC.
[X86] Automatically generate various tests. NFC
Aug 26 2019, 6:52 AM
deadalnix updated the diff for D66537: [DAGCombiner] Remove a bunch of redundant AddToWorklist calls..

Restore calls that are not tested.

Aug 26 2019, 4:01 AM · Restricted Project
deadalnix added a comment to D66718: [DAGCombiner] (insert_vector_elt (vector_shuffle X, Y), (extract_vector_elt X, N), IdxC) -> (vector_shuffle X, Y).

Comments amrked as done.

Aug 26 2019, 3:33 AM · Restricted Project

Aug 25 2019

deadalnix added a comment to D66537: [DAGCombiner] Remove a bunch of redundant AddToWorklist calls..

Ok, I found a handful of cases that are not coevered by the test suite. I'll investigate if adding test coverage is possible, if it is do so. If not, then I'll remove any modification from that diff.

Aug 25 2019, 2:57 PM · Restricted Project
deadalnix added a comment to D66537: [DAGCombiner] Remove a bunch of redundant AddToWorklist calls..
Aug 25 2019, 2:45 PM · Restricted Project
deadalnix updated the diff for D66718: [DAGCombiner] (insert_vector_elt (vector_shuffle X, Y), (extract_vector_elt X, N), IdxC) -> (vector_shuffle X, Y).

Build NewMask using iterators

Aug 25 2019, 2:44 PM · Restricted Project
deadalnix committed rL369876: [X86] Automatically generate stack folding tests. NFC.
[X86] Automatically generate stack folding tests. NFC
Aug 25 2019, 1:48 PM
deadalnix updated the diff for D66718: [DAGCombiner] (insert_vector_elt (vector_shuffle X, Y), (extract_vector_elt X, N), IdxC) -> (vector_shuffle X, Y).
  • Add comments
  • dyn_cast -> cast
Aug 25 2019, 1:39 PM · Restricted Project
deadalnix added inline comments to D66718: [DAGCombiner] (insert_vector_elt (vector_shuffle X, Y), (extract_vector_elt X, N), IdxC) -> (vector_shuffle X, Y).
Aug 25 2019, 11:36 AM · Restricted Project
deadalnix created D66718: [DAGCombiner] (insert_vector_elt (vector_shuffle X, Y), (extract_vector_elt X, N), IdxC) -> (vector_shuffle X, Y).
Aug 25 2019, 9:37 AM · Restricted Project
deadalnix committed rL369871: [X86] Add test case for inserting/extracting from two shuffled vectors. NFC.
[X86] Add test case for inserting/extracting from two shuffled vectors. NFC
Aug 25 2019, 8:50 AM
deadalnix committed rL369870: [X86] Add test case for inserting/extracting from shuffled vectors. NFC.
[X86] Add test case for inserting/extracting from shuffled vectors. NFC
Aug 25 2019, 8:18 AM

Aug 24 2019

deadalnix created D66702: [DAGCombiner] Add node to the worklist in topological order after relegalization..
Aug 24 2019, 4:03 AM · Restricted Project

Aug 23 2019

deadalnix updated the diff for D66659: [DAGCombiner] Add node to the worklist in topological order in parallelizeChainedStores.

Fix outdated comment

Aug 23 2019, 12:29 PM · Restricted Project
deadalnix added a comment to D66537: [DAGCombiner] Remove a bunch of redundant AddToWorklist calls..

I'm not sure how (if at all) to review patches like this?
Just accept that none of the existing tests change and the diff seems sane?

Aug 23 2019, 12:10 PM · Restricted Project
deadalnix added inline comments to D66661: [DAGCombiner] Add node to the worklist in topological order in scalarizeExtractedVectorLoad.
Aug 23 2019, 12:06 PM · Restricted Project
deadalnix committed rL369793: [X86] Automatically generate load-local-v3i1.ll . NFC.
[X86] Automatically generate load-local-v3i1.ll . NFC
Aug 23 2019, 11:13 AM
deadalnix committed rL369787: [AMDGPU] Automatically generate various tests. NFC.
[AMDGPU] Automatically generate various tests. NFC
Aug 23 2019, 11:03 AM
deadalnix created D66661: [DAGCombiner] Add node to the worklist in topological order in scalarizeExtractedVectorLoad.
Aug 23 2019, 8:51 AM · Restricted Project
deadalnix created D66659: [DAGCombiner] Add node to the worklist in topological order in parallelizeChainedStores.
Aug 23 2019, 8:29 AM · Restricted Project
deadalnix committed rL369754: [PowerPC] Automatically generate various tests. NFC.
[PowerPC] Automatically generate various tests. NFC
Aug 23 2019, 6:29 AM
deadalnix added a comment to D64174: [DAGCombine] Do several rounds of combine for addcarry nodes..

SO I came up with a plan to get things processed in topological order. However, as mentioned previously, this is indeed leading into a world of pain. I have a prototype, but it causes numerous regression that I want to investigate.

Aug 23 2019, 6:19 AM · Restricted Project

Aug 22 2019

deadalnix committed rL369718: [ARM] Automatically generate dsp-mlal.ll . NFC.
[ARM] Automatically generate dsp-mlal.ll . NFC
Aug 22 2019, 4:43 PM
deadalnix committed rL369703: [PowerPC] Automatically generate vec_buildvector_loadstore.ll . NFC.
[PowerPC] Automatically generate vec_buildvector_loadstore.ll . NFC
Aug 22 2019, 1:42 PM
deadalnix committed rL369700: [PowerPC] Automatically generate various tests. NFC.
[PowerPC] Automatically generate various tests. NFC
Aug 22 2019, 1:27 PM
deadalnix committed rL369685: [AArch64] autogenerate some tests. NFC.
[AArch64] autogenerate some tests. NFC
Aug 22 2019, 11:59 AM
deadalnix committed rL369662: [DAGCombiner] Remove explicit call to AddToWorklist in sqrt and reciprocal….
[DAGCombiner] Remove explicit call to AddToWorklist in sqrt and reciprocal…
Aug 22 2019, 8:35 AM
deadalnix closed D66548: [DAGCombiner] Remove explicit call to AddToWorklist in sqrt and reciprocal computations.
Aug 22 2019, 8:35 AM · Restricted Project
deadalnix updated the diff for D66548: [DAGCombiner] Remove explicit call to AddToWorklist in sqrt and reciprocal computations.

rebase and regenerate test

Aug 22 2019, 8:33 AM · Restricted Project
deadalnix added inline comments to D66548: [DAGCombiner] Remove explicit call to AddToWorklist in sqrt and reciprocal computations.
Aug 22 2019, 8:21 AM · Restricted Project
deadalnix added inline comments to D66548: [DAGCombiner] Remove explicit call to AddToWorklist in sqrt and reciprocal computations.
Aug 22 2019, 8:06 AM · Restricted Project
deadalnix updated the diff for D66548: [DAGCombiner] Remove explicit call to AddToWorklist in sqrt and reciprocal computations.

Restore check for qvfcmpeq

Aug 22 2019, 6:10 AM · Restricted Project
deadalnix added inline comments to D66548: [DAGCombiner] Remove explicit call to AddToWorklist in sqrt and reciprocal computations.
Aug 22 2019, 5:36 AM · Restricted Project