Page MenuHomePhabricator
Feed Advanced Search

Fri, Feb 8

deadalnix added a comment to D57317: [DAGCombine] Deduplicate addcarry node using commutativity..

@RKSimon This can go now, but has no effect in isolation in any of the test cases I have, mainly because DAGCombine is fairly powerless when faced with addcarry as most of the work involve 'deep' patterns. Do you think I should land anyways ?

Fri, Feb 8, 7:15 AM · Restricted Project

Mon, Feb 4

Herald added a project to D57367: [DAGCombine] Do several rounds of combine for nodes using SimplifyDemandedBits.: Restricted Project.

Ping ?

Mon, Feb 4, 6:19 PM · Restricted Project

Thu, Jan 31

Herald added a project to D57389: [X86] Improve use of SHLD/SHRD: Restricted Project.

@RKSimon That sound reasonable. The main motivation for this patch is to fix a regression introduced by D57367 , so would that be possible to get at least a concept ack on it ?

Thu, Jan 31, 5:23 PM · Restricted Project

Tue, Jan 29

deadalnix added inline comments to D57389: [X86] Improve use of SHLD/SHRD.
Tue, Jan 29, 5:24 PM · Restricted Project
deadalnix added a child revision for D57367: [DAGCombine] Do several rounds of combine for nodes using SimplifyDemandedBits.: D57389: [X86] Improve use of SHLD/SHRD.
Tue, Jan 29, 9:36 AM · Restricted Project
deadalnix added a parent revision for D57389: [X86] Improve use of SHLD/SHRD: D57367: [DAGCombine] Do several rounds of combine for nodes using SimplifyDemandedBits..
Tue, Jan 29, 9:36 AM · Restricted Project
deadalnix created D57389: [X86] Improve use of SHLD/SHRD.
Tue, Jan 29, 7:43 AM · Restricted Project

Mon, Jan 28

deadalnix removed a parent revision for D57317: [DAGCombine] Deduplicate addcarry node using commutativity.: D33587: [DAGCombine] Do several rounds of combine..
Mon, Jan 28, 7:35 PM · Restricted Project
deadalnix removed a child revision for D33587: [DAGCombine] Do several rounds of combine.: D57317: [DAGCombine] Deduplicate addcarry node using commutativity..
Mon, Jan 28, 7:35 PM · Restricted Project
deadalnix added a parent revision for D57302: [DAGCombine] More diamond carry pattern optimization.: D57367: [DAGCombine] Do several rounds of combine for nodes using SimplifyDemandedBits..
Mon, Jan 28, 7:35 PM
deadalnix added a child revision for D57367: [DAGCombine] Do several rounds of combine for nodes using SimplifyDemandedBits.: D57302: [DAGCombine] More diamond carry pattern optimization..
Mon, Jan 28, 7:35 PM · Restricted Project
deadalnix updated the diff for D57302: [DAGCombine] More diamond carry pattern optimization..

Fix typos.
Rebase on top of D57367

Mon, Jan 28, 7:34 PM
deadalnix added a comment to D33587: [DAGCombine] Do several rounds of combine..

I was thinking about ways to reduce the overhead created by this change. I came up with D57367, which is an alternative that focuses on nodes likely to benefit from the change instead of the whole DAG. It misses several opportunity that exist in that patch, but it seems to be a tradeof worth doing.

Mon, Jan 28, 7:16 PM · Restricted Project
deadalnix created D57367: [DAGCombine] Do several rounds of combine for nodes using SimplifyDemandedBits..
Mon, Jan 28, 7:09 PM · Restricted Project
deadalnix added a comment to D33587: [DAGCombine] Do several rounds of combine..

I don't see changes to addcarry.ll and subborrow.ll in this patch. So do we not have test cases from your workloads that show the benefit of this patch?

Mon, Jan 28, 6:09 PM · Restricted Project
deadalnix added a comment to D33587: [DAGCombine] Do several rounds of combine..

First about the kind of code I try to get to have better codegen, it's mostly about large integer manipulations. I already added a fair amount of reduced test cases in addcarry.ll/subcarry.ll . I'm at a stage where the pattern I have to work with are somewhat deep, see D57302 for an example. These patterns do not do anything useful if other transform cannot pick up from whee they left.

Mon, Jan 28, 4:31 PM · Restricted Project
deadalnix updated the diff for D57317: [DAGCombine] Deduplicate addcarry node using commutativity..

Add a comment about existing commutative ops deduplication logic.

Mon, Jan 28, 2:53 PM · Restricted Project
deadalnix added inline comments to D57317: [DAGCombine] Deduplicate addcarry node using commutativity..
Mon, Jan 28, 10:30 AM · Restricted Project
deadalnix added inline comments to D57317: [DAGCombine] Deduplicate addcarry node using commutativity..
Mon, Jan 28, 6:11 AM · Restricted Project
deadalnix created D57317: [DAGCombine] Deduplicate addcarry node using commutativity..
Mon, Jan 28, 2:34 AM · Restricted Project
deadalnix added a child revision for D57302: [DAGCombine] More diamond carry pattern optimization.: D57317: [DAGCombine] Deduplicate addcarry node using commutativity..
Mon, Jan 28, 2:34 AM
deadalnix added a child revision for D33587: [DAGCombine] Do several rounds of combine.: D57317: [DAGCombine] Deduplicate addcarry node using commutativity..
Mon, Jan 28, 2:34 AM · Restricted Project

Sun, Jan 27

deadalnix added inline comments to D33587: [DAGCombine] Do several rounds of combine..
Sun, Jan 27, 6:51 PM · Restricted Project
deadalnix updated the diff for D57302: [DAGCombine] More diamond carry pattern optimization..

Fix NewY's type which was invalid in some circustances

Sun, Jan 27, 10:55 AM
deadalnix retitled D57302: [DAGCombine] More diamond carry pattern optimization. from [DAGCombine] More diamong carry pattern optimization. to [DAGCombine] More diamond carry pattern optimization..
Sun, Jan 27, 9:52 AM
deadalnix added a comment to D33587: [DAGCombine] Do several rounds of combine..

I get it now. We had a mismatched interpretation of which side is up, which side is down. If this is indeed the order in which nodes are processed, then it'd be beneficial to change this.

Sun, Jan 27, 9:51 AM · Restricted Project
deadalnix created D57302: [DAGCombine] More diamond carry pattern optimization..
Sun, Jan 27, 9:48 AM
deadalnix added a comment to D33587: [DAGCombine] Do several rounds of combine..

After thinking more about this, I do not think going bottom up is a good idea. All patterns match a node + its operands, and so benefit from operand to be combined themselves already. I do not think changing all the patterns to match use rather than operands is a good idea. This is a ton of work, and this is unclear there is any benefit at all.

Sun, Jan 27, 6:42 AM · Restricted Project

Sat, Jan 26

deadalnix added a comment to D33587: [DAGCombine] Do several rounds of combine..

I'm not sure how processing nodes bottom up really helps. Problems arise when you want to use patterns of depth > 2 because then direct parent.child are not processed again, even though such pattern may now be available. It seems to me that both top/down and bottom/up approaches would suffers from the same problem, but maybe there is something I'm missing.

Sat, Jan 26, 8:07 PM · Restricted Project
deadalnix updated the diff for D33587: [DAGCombine] Do several rounds of combine..

I'd like to ressurect this diff.

Sat, Jan 26, 5:42 PM · Restricted Project
deadalnix committed rL352285: Generate test results for combine-fcopysign.ll using update_llc_test_checks.py ..
Generate test results for combine-fcopysign.ll using update_llc_test_checks.py .
Sat, Jan 26, 10:14 AM

Aug 15 2018

deadalnix added a comment to D47718: [Mips] Use UADDO/ADDCARRY instead of ADDC/ADDE.

@atanasyan The behavior is not supposed to change in any way, so test cases should not change. However, there are doubt about semantic for which there is no test case today.

Aug 15 2018, 2:16 PM

Jun 6 2018

deadalnix added inline comments to D47718: [Mips] Use UADDO/ADDCARRY instead of ADDC/ADDE.
Jun 6 2018, 3:08 PM

Jun 5 2018

deadalnix committed rL334052: [Mips] Remove uneeded variants of ADDC/ADDE lowering.
[Mips] Remove uneeded variants of ADDC/ADDE lowering
Jun 5 2018, 3:18 PM
deadalnix closed D47703: [Mips] Remove uneeded variants of ADDC/ADDE lowering.
Jun 5 2018, 3:18 PM

Jun 4 2018

deadalnix added a reviewer for D25265: [C API] Add test for D25259 and new LLVMIsExact function.: whitequark.
Jun 4 2018, 4:26 PM
deadalnix commandeered D25265: [C API] Add test for D25259 and new LLVMIsExact function..
Jun 4 2018, 4:26 PM
deadalnix updated the diff for D25265: [C API] Add test for D25259 and new LLVMIsExact function..

Ping ?

Jun 4 2018, 4:25 PM
deadalnix committed rL333961: Remove various use of undef in the X86 test suite as patern involving undef can….
Remove various use of undef in the X86 test suite as patern involving undef can…
Jun 4 2018, 3:13 PM
deadalnix committed rL333960: Revert "Regenerate expected test results for test/CodeGen/X86/pr23103.ll . NFC".
Revert "Regenerate expected test results for test/CodeGen/X86/pr23103.ll . NFC"
Jun 4 2018, 2:53 PM
deadalnix committed rL333953: Revert "Remove various use of undef in the X86 test suite as patern involving….
Revert "Remove various use of undef in the X86 test suite as patern involving…
Jun 4 2018, 2:25 PM
deadalnix committed rL333950: Remove various use of undef in the X86 test suite as patern involving undef can….
Remove various use of undef in the X86 test suite as patern involving undef can…
Jun 4 2018, 2:01 PM
deadalnix committed rL333949: Regenerate expected test results for test/CodeGen/X86/pr23103.ll . NFC.
Regenerate expected test results for test/CodeGen/X86/pr23103.ll . NFC
Jun 4 2018, 1:51 PM
deadalnix committed rL333943: [DAGcombine] Teach the combiner about -a = ~a + 1.
[DAGcombine] Teach the combiner about -a = ~a + 1
Jun 4 2018, 12:27 PM
deadalnix closed D46505: [DAGcombine] Teach the combiner about -a = ~a + 1.
Jun 4 2018, 12:27 PM
deadalnix committed rL333939: Get rid of SETCCE.
Get rid of SETCCE
Jun 4 2018, 11:40 AM
deadalnix closed D47685: Get rid of SETCCE.
Jun 4 2018, 11:40 AM
deadalnix added a comment to D47718: [Mips] Use UADDO/ADDCARRY instead of ADDC/ADDE.

Absolutely.

Jun 4 2018, 8:16 AM
deadalnix added inline comments to D47703: [Mips] Remove uneeded variants of ADDC/ADDE lowering.
Jun 4 2018, 8:14 AM
deadalnix created D47718: [Mips] Use UADDO/ADDCARRY instead of ADDC/ADDE.
Jun 4 2018, 7:25 AM
deadalnix updated the diff for D46505: [DAGcombine] Teach the combiner about -a = ~a + 1.

Ping ?

Jun 4 2018, 3:50 AM
deadalnix created D47703: [Mips] Remove uneeded variants of ADDC/ADDE lowering.
Jun 4 2018, 3:46 AM

Jun 3 2018

deadalnix created D47685: Get rid of SETCCE.
Jun 3 2018, 7:23 AM
deadalnix committed rL333838: Remove SETCCE use from Lanai's backend.
Remove SETCCE use from Lanai's backend
Jun 3 2018, 6:00 AM
deadalnix closed D47626: Remove SETCCE use from Lanai's backend.
Jun 3 2018, 6:00 AM

Jun 1 2018

deadalnix updated the diff for D47626: Remove SETCCE use from Lanai's backend.

Revert changes in LanaiAluCode.h

Jun 1 2018, 7:41 AM
deadalnix added a comment to D47626: Remove SETCCE use from Lanai's backend.

The change in LanaiAluCode.h are indeed unrelated, let me remove them.

Jun 1 2018, 7:40 AM
deadalnix committed rL333748: Set ADDE/ADDC/SUBE/SUBC to expand by default.
Set ADDE/ADDC/SUBE/SUBC to expand by default
Jun 1 2018, 6:26 AM
deadalnix closed D47422: Set ADDE/ADDC/SUBE/SUBC to expand by default.
Jun 1 2018, 6:25 AM
deadalnix accepted D47559: [SelectionDAG] Expand UADDO/USUBO into ADD/SUBCARRY if legal for target.

LGTM.

Jun 1 2018, 5:46 AM
deadalnix created D47626: Remove SETCCE use from Lanai's backend.
Jun 1 2018, 5:36 AM

May 30 2018

deadalnix updated the diff for D47422: Set ADDE/ADDC/SUBE/SUBC to expand by default.

Add a mention of the change in the release notes.

May 30 2018, 9:40 AM
deadalnix committed rL333544: [ARM] Remove code handling ADDC/ADDE/SUBC/SUBE.
[ARM] Remove code handling ADDC/ADDE/SUBC/SUBE
May 30 2018, 6:50 AM
deadalnix closed D47413: [ARM] Remove code handling ADDC/ADDE/SUBC/SUBE.
May 30 2018, 6:50 AM
deadalnix added a comment to D47422: Set ADDE/ADDC/SUBE/SUBC to expand by default.

That being said, you are correct, I should mention this in the release note and warn on the ML.

May 30 2018, 3:18 AM
deadalnix added a comment to D47422: Set ADDE/ADDC/SUBE/SUBC to expand by default.

There are numerous problem with ADDC/ADDE and the sub equivalent, specifically because they are glues :) In addition, it doesn't really simplify much because there is still UADDO and friend to support, regardless.

May 30 2018, 3:17 AM

May 27 2018

deadalnix created D47422: Set ADDE/ADDC/SUBE/SUBC to expand by default.
May 27 2018, 5:44 AM

May 26 2018

deadalnix created D47413: [ARM] Remove code handling ADDC/ADDE/SUBC/SUBE.
May 26 2018, 9:15 AM
deadalnix committed rL333344: Fix comment decribing setcccarry. NFC.
Fix comment decribing setcccarry. NFC
May 26 2018, 7:45 AM
deadalnix updated the diff for D46505: [DAGcombine] Teach the combiner about -a = ~a + 1.

Use isBitwiseNot
Merge flipBooleanConstant into flipBoolean
Add more specific test cases.

May 26 2018, 5:38 AM
deadalnix committed rL333341: Add test case for D46505 . NFC.
Add test case for D46505 . NFC
May 26 2018, 5:32 AM
deadalnix added inline comments to D46505: [DAGcombine] Teach the combiner about -a = ~a + 1.
May 26 2018, 4:57 AM

May 9 2018

deadalnix committed rL331929: [ARM] Add support for SETCCCARRY instead of SETCCE.
[ARM] Add support for SETCCCARRY instead of SETCCE
May 9 2018, 3:19 PM
deadalnix closed D46512: [ARM] Add support for SETCCCARRY instead of SETCCE.
May 9 2018, 3:19 PM
deadalnix added inline comments to D46512: [ARM] Add support for SETCCCARRY instead of SETCCE.
May 9 2018, 2:57 PM

May 6 2018

deadalnix created D46512: [ARM] Add support for SETCCCARRY instead of SETCCE.
May 6 2018, 6:57 PM
deadalnix committed rL331614: [ARM] Select result 1 from ConvertBooleanCarryToCarryFlag's result….
[ARM] Select result 1 from ConvertBooleanCarryToCarryFlag's result…
May 6 2018, 6:47 PM
deadalnix created D46505: [DAGcombine] Teach the combiner about -a = ~a + 1.
May 6 2018, 11:56 AM
deadalnix committed rL331604: Add test cases for large integer legalization of add and sub. NFC.
Add test cases for large integer legalization of add and sub. NFC
May 6 2018, 9:04 AM

Feb 23 2018

deadalnix committed rL325892: [DAGCOmbine] Ensure that (brcond (setcc ...)) is handled in a canonical manner..
[DAGCOmbine] Ensure that (brcond (setcc ...)) is handled in a canonical manner.
Feb 23 2018, 3:54 AM
deadalnix closed D41235: [DAGCOmbine] Ensure that (brcond (setcc ...)) is handled in a canonical manner..
Feb 23 2018, 3:54 AM
deadalnix updated the diff for D41235: [DAGCOmbine] Ensure that (brcond (setcc ...)) is handled in a canonical manner..

Add bugfix for Hexagon and rebase

Feb 23 2018, 3:46 AM

Jan 31 2018

deadalnix committed rL323899: [X86] Generate testl instruction through truncates..
[X86] Generate testl instruction through truncates.
Jan 31 2018, 11:22 AM
deadalnix closed D42741: [X86] Generate testl instruction through truncates..
Jan 31 2018, 11:22 AM
deadalnix updated the diff for D42741: [X86] Generate testl instruction through truncates..

Add a comment to explain the check for MVT::i16 .

Jan 31 2018, 11:22 AM
deadalnix added a comment to D42741: [X86] Generate testl instruction through truncates..

@niravd I added a test case in rL323868 . The problem was by trying to extract the lower 32 bits of a 16 bit register, which is obviously not possible.

Jan 31 2018, 8:59 AM
deadalnix committed rL323888: [X86] Avoid using high register trick for test instruction.
[X86] Avoid using high register trick for test instruction
Jan 31 2018, 8:51 AM
deadalnix closed D42646: [X86] Avoid using high register trick for test instruction.
Jan 31 2018, 8:51 AM
deadalnix added a child revision for D42646: [X86] Avoid using high register trick for test instruction: D42741: [X86] Generate testl instruction through truncates..
Jan 31 2018, 8:25 AM
deadalnix created D42741: [X86] Generate testl instruction through truncates..
Jan 31 2018, 8:25 AM
deadalnix updated the diff for D42646: [X86] Avoid using high register trick for test instruction.

Reduce the diff to simply avoid doing the high register trick.
It turns out that there is a bug in the other optimization made in the orginal diff, so it seems like a better idea to split that out in several smaller steps to ensure progress.

Jan 31 2018, 5:16 AM
deadalnix committed rL323868: Add a regression test for problems caused by D42646 . NFC.
Add a regression test for problems caused by D42646 . NFC
Jan 31 2018, 5:05 AM

Jan 30 2018

deadalnix abandoned D42615: [X86] Generate BT instrutions a bit more agressively.

Ok sounds like this isn't the right approach, closing this one.

Jan 30 2018, 1:44 PM
deadalnix committed rL323748: Change simple-register-allocation-read-undef.mir so that it doesn't fail if the….
Change simple-register-allocation-read-undef.mir so that it doesn't fail if the…
Jan 30 2018, 3:10 AM

Jan 29 2018

deadalnix committed rL323690: [X86] Avoid using high register trick for test instruction.
[X86] Avoid using high register trick for test instruction
Jan 29 2018, 12:56 PM
deadalnix closed D42646: [X86] Avoid using high register trick for test instruction.
Jan 29 2018, 12:56 PM
deadalnix updated the diff for D42646: [X86] Avoid using high register trick for test instruction.

Remove leftover DEBUG

Jan 29 2018, 12:55 PM
deadalnix added inline comments to D42646: [X86] Avoid using high register trick for test instruction.
Jan 29 2018, 12:42 PM
deadalnix updated the diff for D42646: [X86] Avoid using high register trick for test instruction.

Remove TEST8ri_NOREX
Merge codepath for testl and testw

Jan 29 2018, 12:35 PM
deadalnix committed rL323687: [X86] Add test case to ensure testw is generated when optimizing for size. NFC.
[X86] Add test case to ensure testw is generated when optimizing for size. NFC
Jan 29 2018, 12:25 PM