deadalnix (Amaury SECHET)
User

Projects

User does not belong to any projects.

User Details

User Since
Feb 13 2015, 12:29 AM (175 w, 3 d)

Recent Activity

Wed, Jun 6

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

Tue, Jun 5

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

Mon, Jun 4

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

Ping ?

Mon, Jun 4, 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…
Mon, Jun 4, 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"
Mon, Jun 4, 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…
Mon, Jun 4, 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…
Mon, Jun 4, 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
Mon, Jun 4, 1:51 PM
deadalnix committed rL333943: [DAGcombine] Teach the combiner about -a = ~a + 1.
[DAGcombine] Teach the combiner about -a = ~a + 1
Mon, Jun 4, 12:27 PM
deadalnix closed D46505: [DAGcombine] Teach the combiner about -a = ~a + 1.
Mon, Jun 4, 12:27 PM
deadalnix committed rL333939: Get rid of SETCCE.
Get rid of SETCCE
Mon, Jun 4, 11:40 AM
deadalnix closed D47685: Get rid of SETCCE.
Mon, Jun 4, 11:40 AM
deadalnix added a comment to D47718: [Mips] Use UADDO/ADDCARRY instead of ADDC/ADDE.

Absolutely.

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

Ping ?

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

Sun, Jun 3

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

Fri, Jun 1

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

Revert changes in LanaiAluCode.h

Fri, Jun 1, 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.

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

LGTM.

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

Wed, May 30

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.

Wed, May 30, 9:40 AM
deadalnix committed rL333544: [ARM] Remove code handling ADDC/ADDE/SUBC/SUBE.
[ARM] Remove code handling ADDC/ADDE/SUBC/SUBE
Wed, May 30, 6:50 AM
deadalnix closed D47413: [ARM] Remove code handling ADDC/ADDE/SUBC/SUBE.
Wed, May 30, 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.

Wed, May 30, 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.

Wed, May 30, 3:17 AM

Sun, May 27

deadalnix created D47422: Set ADDE/ADDC/SUBE/SUBC to expand by default.
Sun, May 27, 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 dependent 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
deadalnix added a comment to D41235: [DAGCOmbine] Ensure that (brcond (setcc ...)) is handled in a canonical manner..

@niravd It is rebased on top of D42615 . Alternatively, it can be rebased on top of D42646 with identical results as, as per discussion with @craig.topper , the test instruction has higher throughput than bt so maybe that's a preferable solution. Either way, the high register trick problem has been identified and there are several possible solutions.

Jan 29 2018, 8:32 AM
deadalnix created D42646: [X86] Avoid using high register trick for test instruction.
Jan 29 2018, 8:27 AM
deadalnix committed rL323663: Add test case for truncated and promotion to test. NFC.
Add test case for truncated and promotion to test. NFC
Jan 29 2018, 8:14 AM
deadalnix added inline comments to D42618: [LLVM-C] Add Accessors For A Module's Source File Name.
Jan 29 2018, 4:00 AM

Jan 28 2018

deadalnix added a comment to D42615: [X86] Generate BT instrutions a bit more agressively.

On a second look, when disabling this trick, I only get improvement in various test cases. I'm not sure what's the impact in real source code is, but I'm not convinced this trick is worth doing at all at this stage.

Jan 28 2018, 3:37 PM
deadalnix added a comment to D42615: [X86] Generate BT instrutions a bit more agressively.

Looks like this end up being a problem when the value is in EDI due to calling convention. So a few question come to mind:
1/ Shouldn't this optimization be done only after register allocation, if the selected register allows for it ? This would cause it to fail once in a while because the register allocator do not chose the proper register, but it's probably preferable to the extra copies.
2/ Is that possible to hint the register allocator that something is desirable ? For instance, that we would like this value to be in a GR8_NOREX register, but if that's not the case, don't create a copy for it ?

Jan 28 2018, 1:23 PM

Jan 27 2018

deadalnix added a comment to D41235: [DAGCOmbine] Ensure that (brcond (setcc ...)) is handled in a canonical manner..

@niravd After proposing D42615 , it seems like using test instead of bt is the right thing to do as it has higher throughput - unless more work is required to materialize the constant. There is a bug in the materialization of test that cause it to sometime create needless copy. This needs to be fixed, regardless of what this diff does. I think we should proceed with this one.

Jan 27 2018, 2:38 PM
deadalnix added a comment to D42615: [X86] Generate BT instrutions a bit more agressively.

@craig.topper I had no idea bt has lower throughput than test, I assumed it was the same. If that's the case, then this approach doesn't make much sense.

Jan 27 2018, 1:21 PM
deadalnix updated the diff for D41235: [DAGCOmbine] Ensure that (brcond (setcc ...)) is handled in a canonical manner..

Rebase on top of D42615, which ensure there are no more regression for pattern involving test/bt.

Jan 27 2018, 11:35 AM
deadalnix created D42615: [X86] Generate BT instrutions a bit more agressively.
Jan 27 2018, 11:34 AM
deadalnix committed rL323596: Regenerate test result for vastart-defs-eflags.ll. NFC..
Regenerate test result for vastart-defs-eflags.ll. NFC.
Jan 27 2018, 9:56 AM
deadalnix committed rL323595: Regenerate test result for testb-je-fusion.ll. NFC..
Regenerate test result for testb-je-fusion.ll. NFC.
Jan 27 2018, 9:22 AM
deadalnix committed rL323594: Regenerate test result for stateppint-vector.ll. NFC..
Regenerate test result for stateppint-vector.ll. NFC.
Jan 27 2018, 9:18 AM
deadalnix committed rL323593: Regenrate brcond.ll test results. NFC.
Regenrate brcond.ll test results. NFC
Jan 27 2018, 8:59 AM
deadalnix committed rL323592: Regenrate test results for avx-brcond.ll . NFC.
Regenrate test results for avx-brcond.ll . NFC
Jan 27 2018, 8:45 AM
deadalnix committed rL323588: Regenerate test results for and-su.ll . NFC.
Regenerate test results for and-su.ll . NFC
Jan 27 2018, 8:01 AM

Jan 1 2018

deadalnix added inline comments to D41235: [DAGCOmbine] Ensure that (brcond (setcc ...)) is handled in a canonical manner..
Jan 1 2018, 5:10 PM

Dec 14 2017

deadalnix created D41235: [DAGCOmbine] Ensure that (brcond (setcc ...)) is handled in a canonical manner..
Dec 14 2017, 6:10 AM
deadalnix added a comment to D35192: [ARM] Use ADDCARRY / SUBCARRY.

Congrats !

Dec 14 2017, 6:06 AM

Dec 13 2017

deadalnix committed rL320602: Regenerate test-shrink.ll test results. NFC.
Regenerate test-shrink.ll test results. NFC
Dec 13 2017, 10:05 AM

Nov 10 2017

deadalnix committed rL317926: [DAGcombine] Do not replace truncate node by itself when doing constant folding….
[DAGcombine] Do not replace truncate node by itself when doing constant folding…
Nov 10 2017, 1:00 PM

Nov 9 2017

deadalnix updated the diff for D33863: [DAGComine] (fadd x, undef) -> undef and (fmul x, undef) -> undef.

Make sure we do not transform is x can be Nan, also do the transformation for fsub and add arguments in various tests to make sure they don't get folded and continue to test what they are supposed to.

Nov 9 2017, 11:10 AM

Oct 14 2017

deadalnix abandoned D18727: Add support for attribute in the C API.

Not relevant anymore.

Oct 14 2017, 6:36 AM
deadalnix abandoned D18733: Add support for attribute for call and invoke instruction in the C API.

This is not relevent anymore.

Oct 14 2017, 6:36 AM

Aug 14 2017

deadalnix committed rL310832: [DAGCombine] Do not try to deduplicate commutative operations if both operand….
[DAGCombine] Do not try to deduplicate commutative operations if both operand…
Aug 14 2017, 4:45 AM
deadalnix closed D33840: [DAGCombine] Do not try to deduplicate commutative operations if both operand are the same. by committing rL310832: [DAGCombine] Do not try to deduplicate commutative operations if both operand….
Aug 14 2017, 4:45 AM

Aug 9 2017

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

@RKSimon I'll find a way to make that fast, or find an alternative like activating it only in some specific situations. In addition to solving my specific problem, it seems to improve numerous other things, especially for the AMD backend. In any case, I think D33840 is a good thing either way and we should proceed with it.

Aug 9 2017, 2:32 PM

Jul 31 2017

deadalnix updated the diff for D33840: [DAGCombine] Do not try to deduplicate commutative operations if both operand are the same..

rebase

Jul 31 2017, 12:33 PM
deadalnix added a comment to D33840: [DAGCombine] Do not try to deduplicate commutative operations if both operand are the same..

OK, benchmarks. Compiling clang from a bc containing clang in its entierety. With the patch:

Jul 31 2017, 12:31 PM
deadalnix closed D33848: Do not recombine FMA when that is not needed. by committing rL309578: Do not recombine FMA when that is not needed..
Jul 31 2017, 9:57 AM
deadalnix committed rL309578: Do not recombine FMA when that is not needed..
Do not recombine FMA when that is not needed.
Jul 31 2017, 9:57 AM
deadalnix updated the diff for D33848: Do not recombine FMA when that is not needed..

Add comments

Jul 31 2017, 9:53 AM