deadalnix (Amaury SECHET)
User

Projects

User does not belong to any projects.

User Details

User Since
Feb 13 2015, 12:29 AM (119 w, 13 h)

Recent Activity

Today

deadalnix updated the diff for D33374: Do not legalize large setcc with setcce, introduce setcccarry and do it with usubo/setcccarry..

Use getOperationAction as isOperationLegalOrCustom is breaking the AMDGPU backend for some reason. Remove formating change in wide-integer-cmp.ll .

Fri, May 26, 8:13 AM
deadalnix added a comment to D33374: Do not legalize large setcc with setcce, introduce setcccarry and do it with usubo/setcccarry..

I don't have a specific plan except it needs to be done and I got to figure out how to do it :)

Fri, May 26, 8:06 AM
deadalnix updated the diff for D33390: Remove ADDC, ADDE, SUBC, SUBE support from the X86 backend, use the CARRY ops instead..

Also remove SETCCE .

Fri, May 26, 7:41 AM
deadalnix added a comment to D33587: [DAGCombine] Do several rounds of combine..

I usually do not work with clang. Do you have instructions I can follow to get that bc file ?

Fri, May 26, 7:31 AM
deadalnix committed rL303989: nits in wide-integer-cmp.ll . NFC.
nits in wide-integer-cmp.ll . NFC
Fri, May 26, 6:57 AM
deadalnix added a comment to D33587: [DAGCombine] Do several rounds of combine..

@RKSimon Most of these case aren't because node are not added to the worklist, but because of pattern that are somewhat deep - such as anything depending on KnownBits . Consider the following DAG:

Fri, May 26, 2:55 AM
deadalnix updated the diff for D33587: [DAGCombine] Do several rounds of combine..

Improve checks in constant_sextload_v8i16_to_v8i32 .

Fri, May 26, 1:34 AM
deadalnix created D33587: [DAGCombine] Do several rounds of combine..
Fri, May 26, 1:25 AM
deadalnix added a comment to D33374: Do not legalize large setcc with setcce, introduce setcccarry and do it with usubo/setcccarry..

I'd rather remove it as part of D33390 than this one. Just in case something goes wrong, it'll be easier to revert.

Fri, May 26, 1:04 AM
deadalnix updated the diff for D32925: [DAGCombine] (add/uaddo X, Carry) -> (addcarry X, 0, Carry).

Do not match sext and any_ext as this is invalid.

Fri, May 26, 1:00 AM
deadalnix added inline comments to D32925: [DAGCombine] (add/uaddo X, Carry) -> (addcarry X, 0, Carry).
Fri, May 26, 12:37 AM

Yesterday

deadalnix updated the diff for D32756: [DAGCombine] Refactor common addcarry pattern..

Ping !

Thu, May 25, 1:06 PM
deadalnix updated the diff for D32925: [DAGCombine] (add/uaddo X, Carry) -> (addcarry X, 0, Carry).

Ping ?

Thu, May 25, 2:54 AM
deadalnix abandoned D33391: [DAGCombine] fold (add/uaddo (xor a, -1), 1) -> (sub 0, a).

OK I was able to dig more. Something is screwed up with my test case. This is indeed not doing the right thing with the carry.

Thu, May 25, 2:48 AM

Wed, May 24

deadalnix added a comment to D33391: [DAGCombine] fold (add/uaddo (xor a, -1), 1) -> (sub 0, a).

I have no idea what clang is doing there. It seems like the intrinsic do not map directly to the uaddo/usubo. See for yourself the generated IR (in clang 3.8 that's what I have available ATM):

Wed, May 24, 6:03 AM

Mon, May 22

deadalnix committed rL303606: Update expected result for or-branch.ll . NFC.
Update expected result for or-branch.ll . NFC
Mon, May 22, 10:43 PM
deadalnix added inline comments to D33391: [DAGCombine] fold (add/uaddo (xor a, -1), 1) -> (sub 0, a).
Mon, May 22, 8:39 PM
deadalnix committed rL303533: Regenerate expected result for test constant-combines.ll . NFC.
Regenerate expected result for test constant-combines.ll . NFC
Mon, May 22, 12:49 AM

Sun, May 21

deadalnix committed rL303528: Add a test case for large integer subtraction via subcarry. NFC.
Add a test case for large integer subtraction via subcarry. NFC
Sun, May 21, 11:08 PM
deadalnix updated the diff for D33391: [DAGCombine] fold (add/uaddo (xor a, -1), 1) -> (sub 0, a).

Format

Sun, May 21, 7:51 PM
deadalnix added a comment to D33391: [DAGCombine] fold (add/uaddo (xor a, -1), 1) -> (sub 0, a).

This kicks in for fold-pcmpeqd-2.ll . Looking at the assembly, things looks good, but I'm not really sure what this test is testing for, so if someone familiar could advice on what to do, that'd be great. @chandlerc , @dblaikie you worked on that, can you advice ?

Sun, May 21, 7:43 PM
deadalnix created D33391: [DAGCombine] fold (add/uaddo (xor a, -1), 1) -> (sub 0, a).
Sun, May 21, 7:42 PM
deadalnix committed rL303525: Add test case for subcarry optimization..
Add test case for subcarry optimization.
Sun, May 21, 7:32 PM
deadalnix created D33390: Remove ADDC, ADDE, SUBC, SUBE support from the X86 backend, use the CARRY ops instead..
Sun, May 21, 5:03 PM
deadalnix added a dependent revision for D33374: Do not legalize large setcc with setcce, introduce setcccarry and do it with usubo/setcccarry.: D33390: Remove ADDC, ADDE, SUBC, SUBE support from the X86 backend, use the CARRY ops instead..
Sun, May 21, 5:02 PM

Fri, May 19

deadalnix created D33374: Do not legalize large setcc with setcce, introduce setcccarry and do it with usubo/setcccarry..
Fri, May 19, 5:52 PM
deadalnix added a comment to D32368: LLVM C DIBuilder Creation APIs.

This is looking good and I like where this is going. I have a few nits in comments.

Fri, May 19, 12:31 PM
deadalnix committed rL303441: [DAGCombine] (addcarry 0, 0, X) -> (ext/trunc X).
[DAGCombine] (addcarry 0, 0, X) -> (ext/trunc X)
Fri, May 19, 11:34 AM
deadalnix closed D32916: [DAGCombine] (addcarry 0, 0, X) -> (ext/trunc X) by committing rL303441: [DAGCombine] (addcarry 0, 0, X) -> (ext/trunc X).
Fri, May 19, 11:34 AM
deadalnix added a comment to D32916: [DAGCombine] (addcarry 0, 0, X) -> (ext/trunc X).

I looked at the codegen for the mul and it looks correct. There are very little actual changes, but, they do cause registers to be allocated differently, so the diff ends up being huge.

Fri, May 19, 11:29 AM
deadalnix added inline comments to D32925: [DAGCombine] (add/uaddo X, Carry) -> (addcarry X, 0, Carry).
Fri, May 19, 9:29 AM

Wed, May 17

deadalnix added inline comments to D32916: [DAGCombine] (addcarry 0, 0, X) -> (ext/trunc X).
Wed, May 17, 11:07 PM

Mon, May 15

deadalnix updated the diff for D32916: [DAGCombine] (addcarry 0, 0, X) -> (ext/trunc X).

Monday ping.

Mon, May 15, 5:54 AM

Wed, May 10

deadalnix updated the diff for D32916: [DAGCombine] (addcarry 0, 0, X) -> (ext/trunc X).

Remove NFC changes.

Wed, May 10, 11:14 AM
deadalnix committed rL302699: Small refactoring in DAGCombine. NFC.
Small refactoring in DAGCombine. NFC
Wed, May 10, 11:11 AM
deadalnix added inline comments to D32916: [DAGCombine] (addcarry 0, 0, X) -> (ext/trunc X).
Wed, May 10, 10:21 AM
deadalnix updated the diff for D32916: [DAGCombine] (addcarry 0, 0, X) -> (ext/trunc X).

Add explicit EVT types.

Wed, May 10, 1:42 AM
deadalnix added inline comments to D32916: [DAGCombine] (addcarry 0, 0, X) -> (ext/trunc X).
Wed, May 10, 1:24 AM

Mon, May 8

deadalnix updated the diff for D32925: [DAGCombine] (add/uaddo X, Carry) -> (addcarry X, 0, Carry).

Rebase on changes from D32916 .

Mon, May 8, 4:32 PM
deadalnix updated the diff for D32916: [DAGCombine] (addcarry 0, 0, X) -> (ext/trunc X).

Add an and in the pattern as to make the the value is 0 or 1.

Mon, May 8, 4:27 PM
deadalnix added inline comments to D32916: [DAGCombine] (addcarry 0, 0, X) -> (ext/trunc X).
Mon, May 8, 3:47 PM

Sat, May 6

deadalnix updated the diff for D32756: [DAGCombine] Refactor common addcarry pattern..

Doing some refactoring to help the introduction of further diamond pattern simplification.

Sat, May 6, 3:44 AM

Fri, May 5

deadalnix updated the diff for D32756: [DAGCombine] Refactor common addcarry pattern..

Rebase on top of D32925

Fri, May 5, 4:18 PM
deadalnix created D32925: [DAGCombine] (add/uaddo X, Carry) -> (addcarry X, 0, Carry).
Fri, May 5, 3:18 PM
deadalnix added a dependent revision for D32916: [DAGCombine] (addcarry 0, 0, X) -> (ext/trunc X): D32925: [DAGCombine] (add/uaddo X, Carry) -> (addcarry X, 0, Carry).
Fri, May 5, 3:18 PM
deadalnix updated the diff for D32916: [DAGCombine] (addcarry 0, 0, X) -> (ext/trunc X).

Use getBoolExtOrTrunc .

Fri, May 5, 2:25 PM
deadalnix added inline comments to D32916: [DAGCombine] (addcarry 0, 0, X) -> (ext/trunc X).
Fri, May 5, 2:16 PM
deadalnix added inline comments to D32756: [DAGCombine] Refactor common addcarry pattern..
Fri, May 5, 10:17 AM
deadalnix created D32916: [DAGCombine] (addcarry 0, 0, X) -> (ext/trunc X).
Fri, May 5, 10:15 AM
deadalnix added inline comments to D32756: [DAGCombine] Refactor common addcarry pattern..
Fri, May 5, 10:11 AM
deadalnix committed rL302252: Add more variations of addcarry in the tests. NFC..
Add more variations of addcarry in the tests. NFC.
Fri, May 5, 9:41 AM
deadalnix added inline comments to D32756: [DAGCombine] Refactor common addcarry pattern..
Fri, May 5, 9:37 AM
deadalnix updated the diff for D32756: [DAGCombine] Refactor common addcarry pattern..

Change the comment to explain the transform with some ASCII art.

Fri, May 5, 7:00 AM
deadalnix added inline comments to D32756: [DAGCombine] Refactor common addcarry pattern..
Fri, May 5, 6:38 AM

Wed, May 3

deadalnix updated the diff for D32756: [DAGCombine] Refactor common addcarry pattern..

Rebase

Wed, May 3, 4:18 PM
deadalnix committed rL302047: [DAGCombine] (addcarry (add|uaddo X, Y), 0, Carry) -> (addcarry X, Y, Carry).
[DAGCombine] (addcarry (add|uaddo X, Y), 0, Carry) -> (addcarry X, Y, Carry)
Wed, May 3, 9:41 AM
deadalnix closed D32755: [DAGCombine] (addcarry (add|uaddo X, Y), 0, Carry) -> (addcarry X, Y, Carry) by committing rL302047: [DAGCombine] (addcarry (add|uaddo X, Y), 0, Carry) -> (addcarry X, Y, Carry).
Wed, May 3, 9:41 AM
deadalnix updated the diff for D32755: [DAGCombine] (addcarry (add|uaddo X, Y), 0, Carry) -> (addcarry X, Y, Carry).

Fix comment.

Wed, May 3, 9:40 AM
deadalnix updated the diff for D32755: [DAGCombine] (addcarry (add|uaddo X, Y), 0, Carry) -> (addcarry X, Y, Carry).

Check for opcode before uses.

Wed, May 3, 4:43 AM

Tue, May 2

deadalnix retitled D32756: [DAGCombine] Refactor common addcarry pattern. from [DAGCombine] Refacotr common addcarry pattern. to [DAGCombine] Refactor common addcarry pattern..
Tue, May 2, 1:06 PM
deadalnix created D32756: [DAGCombine] Refactor common addcarry pattern..
Tue, May 2, 10:14 AM
deadalnix created D32755: [DAGCombine] (addcarry (add|uaddo X, Y), 0, Carry) -> (addcarry X, Y, Carry).
Tue, May 2, 9:55 AM
deadalnix committed rL301932: Add new test case for addcarry. NFC..
Add new test case for addcarry. NFC.
Tue, May 2, 9:21 AM
deadalnix committed rL301922: [DAGCombine] (uaddo X, (addcarry Y, 0, Carry)) -> (addcarry X, Y, Carry).
[DAGCombine] (uaddo X, (addcarry Y, 0, Carry)) -> (addcarry X, Y, Carry)
Tue, May 2, 7:29 AM
deadalnix closed D32687: [DAGCombine] (uaddo X, (addcarry Y, 0, Carry)) -> (addcarry X, Y, Carry) by committing rL301922: [DAGCombine] (uaddo X, (addcarry Y, 0, Carry)) -> (addcarry X, Y, Carry).
Tue, May 2, 7:29 AM
deadalnix updated the diff for D32687: [DAGCombine] (uaddo X, (addcarry Y, 0, Carry)) -> (addcarry X, Y, Carry).

Rebase and use SDValue.

Tue, May 2, 7:10 AM
deadalnix committed rL301919: [DAGCombine] (add X, (addcarry Y, 0, Carry)) -> (addcarry X, Y, Carry).
[DAGCombine] (add X, (addcarry Y, 0, Carry)) -> (addcarry X, Y, Carry)
Tue, May 2, 6:47 AM
deadalnix closed D32738: [DAGCombine] (add X, (addcarry Y, 0, Carry)) -> (addcarry X, Y, Carry) by committing rL301919: [DAGCombine] (add X, (addcarry Y, 0, Carry)) -> (addcarry X, Y, Carry).
Tue, May 2, 6:47 AM
deadalnix created D32738: [DAGCombine] (add X, (addcarry Y, 0, Carry)) -> (addcarry X, Y, Carry).
Tue, May 2, 3:38 AM

Sun, Apr 30

deadalnix created D32687: [DAGCombine] (uaddo X, (addcarry Y, 0, Carry)) -> (addcarry X, Y, Carry).
Sun, Apr 30, 12:59 PM
deadalnix committed rL301775: Do not legalize large add with addc/adde, introduce addcarry and do it with….
Do not legalize large add with addc/adde, introduce addcarry and do it with…
Sun, Apr 30, 12:37 PM
deadalnix closed D29872: Do not legalize large add with addc/adde, introduce addcarry and do it with uaddo/addcarry by committing rL301775: Do not legalize large add with addc/adde, introduce addcarry and do it with….
Sun, Apr 30, 12:37 PM
deadalnix updated the diff for D29872: Do not legalize large add with addc/adde, introduce addcarry and do it with uaddo/addcarry.

If you guys are good with it, then let's move forward. I have various patches coming based on this, and we start moving backends to use ADDCARRY instead of ADC once it is in.

Sun, Apr 30, 9:27 AM

Apr 24 2017

deadalnix updated the diff for D29872: Do not legalize large add with addc/adde, introduce addcarry and do it with uaddo/addcarry.

Add a FIXME on ADDC/SUBC to explain they are deprecated in favor of ADDCARRY and SUBCARRY and will be removed in the future.

Apr 24 2017, 5:08 PM
deadalnix updated the diff for D29872: Do not legalize large add with addc/adde, introduce addcarry and do it with uaddo/addcarry.

I'd really would ike to move on with optimizing big integers better and this is gating everything. This needs to move forward.

Apr 24 2017, 6:07 AM

Apr 21 2017

deadalnix added a comment to D32368: LLVM C DIBuilder Creation APIs.

Ideally we'd like to have some test with this. The way it is usually done is to use the echo test: it reads a module using the C API and then recreate another identical module using the same C API. This ensure end to end testing. However this doesn't provide any reading facility so that me be more work than you are willing to put into this.

Apr 21 2017, 1:04 PM
deadalnix added a comment to D32368: LLVM C DIBuilder Creation APIs.

Hi, you can put "HEAD^" in the file ".git/arc/default-relative-commit" , this ensure that only the comit you are currently on is sent to phabricator.

Apr 21 2017, 12:48 PM

Apr 20 2017

deadalnix committed rL300843: Introduce LLVMDIBuilderRef.
Introduce LLVMDIBuilderRef
Apr 20 2017, 7:45 AM
deadalnix closed D32122: Introduce LLVMDIBuilderRef by committing rL300843: Introduce LLVMDIBuilderRef.
Apr 20 2017, 7:45 AM
deadalnix added a comment to D32122: Introduce LLVMDIBuilderRef.

I think you have two green light, it's fine to proceed. Do you have commit rights ? If not I can commit this for you.

Apr 20 2017, 6:40 AM

Apr 18 2017

deadalnix accepted D32122: Introduce LLVMDIBuilderRef.
Apr 18 2017, 1:33 PM
deadalnix added inline comments to D32122: Introduce LLVMDIBuilderRef.
Apr 18 2017, 1:29 PM
deadalnix added a comment to D32122: Introduce LLVMDIBuilderRef.

Alternatively, I'm okay splitting this into smaller patches that are easier to decide about and test independently.

Apr 18 2017, 8:48 AM
deadalnix updated the diff for D29872: Do not legalize large add with addc/adde, introduce addcarry and do it with uaddo/addcarry.

Address comments

Apr 18 2017, 8:12 AM
deadalnix added inline comments to D29872: Do not legalize large add with addc/adde, introduce addcarry and do it with uaddo/addcarry.
Apr 18 2017, 7:43 AM

Apr 17 2017

deadalnix added a comment to D32122: Introduce LLVMDIBuilderRef.

It wouldn't upset me -- LLVMSwift is tracking LLVM latest and will continue to make breaking changes as the C API evolves. The real question is established bindings like the OCaml and python bindings -- would they be willing to use this API with breaking changes?

Apr 17 2017, 10:33 AM
deadalnix added a comment to D32122: Introduce LLVMDIBuilderRef.

Is it acceptable for future releases of LLVM to break the C-API?

Apr 17 2017, 9:13 AM
deadalnix updated the diff for D29872: Do not legalize large add with addc/adde, introduce addcarry and do it with uaddo/addcarry.

Ping

Apr 17 2017, 5:07 AM
deadalnix committed rL300447: Introducing LLVMMetadataRef.
Introducing LLVMMetadataRef
Apr 17 2017, 5:05 AM
deadalnix closed D19448: Introducing LLVMMetadataRef by committing rL300447: Introducing LLVMMetadataRef.
Apr 17 2017, 5:05 AM
deadalnix added a comment to D32122: Introduce LLVMDIBuilderRef.

That's awesome. A few things.

Apr 17 2017, 4:02 AM
deadalnix updated the diff for D19448: Introducing LLVMMetadataRef.

Rebase

Apr 17 2017, 3:49 AM

Apr 10 2017

deadalnix updated the diff for D29872: Do not legalize large add with addc/adde, introduce addcarry and do it with uaddo/addcarry.

Ping

Apr 10 2017, 2:59 AM

Apr 4 2017

deadalnix updated the diff for D29872: Do not legalize large add with addc/adde, introduce addcarry and do it with uaddo/addcarry.

Comments

Apr 4 2017, 5:26 AM

Apr 3 2017

deadalnix updated the diff for D29872: Do not legalize large add with addc/adde, introduce addcarry and do it with uaddo/addcarry.

Ping

Apr 3 2017, 7:29 AM

Mar 26 2017

deadalnix updated the diff for D29872: Do not legalize large add with addc/adde, introduce addcarry and do it with uaddo/addcarry.

Ping ?

Mar 26 2017, 4:38 PM

Mar 20 2017

deadalnix added inline comments to D29872: Do not legalize large add with addc/adde, introduce addcarry and do it with uaddo/addcarry.
Mar 20 2017, 11:34 AM
deadalnix updated the diff for D29872: Do not legalize large add with addc/adde, introduce addcarry and do it with uaddo/addcarry.

Update as per comments.

Mar 20 2017, 7:55 AM
deadalnix added inline comments to D29872: Do not legalize large add with addc/adde, introduce addcarry and do it with uaddo/addcarry.
Mar 20 2017, 7:30 AM
deadalnix updated the diff for D29872: Do not legalize large add with addc/adde, introduce addcarry and do it with uaddo/addcarry.

Ping ?

Mar 20 2017, 4:57 AM