Page MenuHomePhabricator

kpdev42 (Pavel Kosov)
User

Projects

User does not belong to any projects.

User Details

User Since
Aug 19 2019, 4:12 AM (31 w, 6 d)

Recent Activity

Sat, Mar 7

kpdev42 committed rG0dfcb23b0507: [NFC][Test commit] Remove redundant point in docs (authored by kpdev42).
[NFC][Test commit] Remove redundant point in docs
Sat, Mar 7, 1:33 PM

Feb 27 2020

kpdev42 added a comment to D71701: [AArch64] Peephole optimization. Merge AND and TST instructions.

Ok, thanks a lot )

Feb 27 2020, 11:34 AM · Unknown Object (Project)
kpdev42 added a comment to D71701: [AArch64] Peephole optimization. Merge AND and TST instructions.

Thank you. Should I close this revision?

Feb 27 2020, 3:43 AM · Unknown Object (Project)

Feb 26 2020

kpdev42 added a comment to D71701: [AArch64] Peephole optimization. Merge AND and TST instructions.

Yep, those are the instructions to request commit access, which might be good to request if you plan to do more llvm work. I guess that will probably take a few days. And if you're not in a hurry with getting this committed, you could wait for your commit access and then commit this yourself. But I would of course be happy to commit this on your behalf, which I will then do tomorrow morning, just let me know what you prefer.

Feb 26 2020, 11:38 PM · Unknown Object (Project)
kpdev42 added inline comments to D71701: [AArch64] Peephole optimization. Merge AND and TST instructions.
Feb 26 2020, 11:31 PM · Unknown Object (Project)
kpdev42 updated the diff for D71701: [AArch64] Peephole optimization. Merge AND and TST instructions.

Change formatting in AArch64ISelDAGToDAG.cpp according to codestyle

Feb 26 2020, 11:30 PM · Unknown Object (Project)
kpdev42 added a comment to D71701: [AArch64] Peephole optimization. Merge AND and TST instructions.

Thank you for the review. (All of you)
Unfortunately I don't have commit access, would you please submit this change on my behalf? )

Feb 26 2020, 11:50 AM · Unknown Object (Project)
kpdev42 added inline comments to D71701: [AArch64] Peephole optimization. Merge AND and TST instructions.
Feb 26 2020, 4:19 AM · Unknown Object (Project)
kpdev42 updated the diff for D71701: [AArch64] Peephole optimization. Merge AND and TST instructions.

Update test with two uses of AND

Feb 26 2020, 4:15 AM · Unknown Object (Project)
kpdev42 added a comment to D71701: [AArch64] Peephole optimization. Merge AND and TST instructions.

All commentaries are resolved, patch is ready for review )

Feb 26 2020, 12:06 AM · Unknown Object (Project)

Feb 25 2020

kpdev42 updated the diff for D71701: [AArch64] Peephole optimization. Merge AND and TST instructions.

Add a test case with two uses of AND instruction
Plus make some simplification of code in AArch64ISelLowering

Feb 25 2020, 11:58 PM · Unknown Object (Project)
kpdev42 added a comment to D71701: [AArch64] Peephole optimization. Merge AND and TST instructions.

Please take a look at this patch )

Feb 25 2020, 12:15 AM · Unknown Object (Project)

Feb 20 2020

kpdev42 updated the diff for D71701: [AArch64] Peephole optimization. Merge AND and TST instructions.

All changes moved from InstrInfo to ISelLowering

Feb 20 2020, 6:04 AM · Unknown Object (Project)

Jan 29 2020

kpdev42 updated the diff for D71701: [AArch64] Peephole optimization. Merge AND and TST instructions.

Update patch: move all changes to AArch64InstrInfo::optimizeCondBranch(MachineInstr &MI) as it was planned.
But I do not know if it is a finally version, because as I see from the discussion - moving this functionality to ISel is more preferable.
So, do I need to create another patch with ISel implementation (I mean - create another differential revision), or it is better to change this patch?

Jan 29 2020, 5:13 AM · Unknown Object (Project)

Jan 28 2020

kpdev42 added a comment to D71701: [AArch64] Peephole optimization. Merge AND and TST instructions.

I don't mind taking a look.

First question about where this should live. With AArch64InstrInfo::mergeInstructions(MachineFunction& MF) you're iterating of all blocks/instructions, which is typically not something that belongs in AArch64InstrInfo because that works on instructions. The generic peephole class does exactly this, which makes calls to e.g. optimizeCondBranch. As Eli suggested in the email thread on llvm dev, can you implement and do this in AArch64InstrInfo::optimizeCondBranch(MachineInstr &MI)?

Jan 28 2020, 11:02 PM · Unknown Object (Project)

Jan 27 2020

kpdev42 added a comment to D71701: [AArch64] Peephole optimization. Merge AND and TST instructions.

Ping. I would be grateful for your commentaries about this patch. Maybe this code should be changed in some way?

Jan 27 2020, 1:33 AM · Unknown Object (Project)

Dec 20 2019

kpdev42 updated the diff for D67281: [AArch64][SimplifyCFG] Add additional cost for instructions in mergeConditionalStoreToAddress.

In lambda IsWorthwile in mergeConditionalStoreToAddress added check for additional instructions which will be generated after select lowering
Update test.

Dec 20 2019, 2:54 AM · Unknown Object (Project)

Dec 19 2019

kpdev42 created D71701: [AArch64] Peephole optimization. Merge AND and TST instructions.
Dec 19 2019, 5:46 AM · Unknown Object (Project)

Nov 25 2019

kpdev42 added a comment to D67281: [AArch64][SimplifyCFG] Add additional cost for instructions in mergeConditionalStoreToAddress.

On X86 branch misprediction is ~10..~20 cycles,

Nov 25 2019, 1:00 AM · Unknown Object (Project)

Nov 22 2019

kpdev42 updated the diff for D67281: [AArch64][SimplifyCFG] Add additional cost for instructions in mergeConditionalStoreToAddress.

Fix formatting in SimplifyCFG.cpp and remaster testcase (I reduced it more accurately to avoid overreducing)
Please @lebedev.ri take a look

Nov 22 2019, 2:28 AM · Unknown Object (Project)

Nov 20 2019

kpdev42 updated the diff for D67281: [AArch64][SimplifyCFG] Add additional cost for instructions in mergeConditionalStoreToAddress.

I changed my patch, now before merging blocks it calculates existing instructions in DomBB,
just to be sure that this block is not too big already
Maybe instead of using phi-node-folding threshold it is needed to use some other separate threshold.

Nov 20 2019, 5:24 AM · Unknown Object (Project)
kpdev42 reclaimed D67281: [AArch64][SimplifyCFG] Add additional cost for instructions in mergeConditionalStoreToAddress.
Nov 20 2019, 5:00 AM · Unknown Object (Project)

Sep 16 2019

kpdev42 added a comment to D67281: [AArch64][SimplifyCFG] Add additional cost for instructions in mergeConditionalStoreToAddress.

Yes, I think it is possible, that this code should be changed later in backend. It needs more investigation )

Sep 16 2019, 6:54 AM · Unknown Object (Project)

Sep 12 2019

kpdev42 abandoned D67281: [AArch64][SimplifyCFG] Add additional cost for instructions in mergeConditionalStoreToAddress.

I need to change my patch entirely, it needs discussion in mailing list and it will take time, so at the moment I will close this revision and after some time create another one.
Thanks to all.

Sep 12 2019, 6:56 AM · Unknown Object (Project)

Sep 11 2019

kpdev42 added a comment to D67281: [AArch64][SimplifyCFG] Add additional cost for instructions in mergeConditionalStoreToAddress.

Yes, sure, will upload it in 24 hours, thank you!

Sep 11 2019, 1:00 PM · Unknown Object (Project)

Sep 10 2019

kpdev42 updated the diff for D67281: [AArch64][SimplifyCFG] Add additional cost for instructions in mergeConditionalStoreToAddress.

Rework patch. Allow merge store but bring additional check to FoldTwoEntryPHINode: before hoisting all instructions from IfBlock0 and IfBlock1 to DomBlock we check number of instructions in this DomBlock.

Sep 10 2019, 10:06 AM · Unknown Object (Project)
kpdev42 updated the diff for D67281: [AArch64][SimplifyCFG] Add additional cost for instructions in mergeConditionalStoreToAddress.

Simplify test case. Relevant C code is:

Sep 10 2019, 12:08 AM · Unknown Object (Project)

Sep 9 2019

kpdev42 added a comment to D67281: [AArch64][SimplifyCFG] Add additional cost for instructions in mergeConditionalStoreToAddress.

I checked D67315 , unfortunately it does not help, generated code is the same.

Sep 9 2019, 8:12 AM · Unknown Object (Project)
kpdev42 added a comment to D67281: [AArch64][SimplifyCFG] Add additional cost for instructions in mergeConditionalStoreToAddress.

Thank you for detailed answer.

Sep 9 2019, 3:55 AM · Unknown Object (Project)

Sep 6 2019

kpdev42 added a comment to D67281: [AArch64][SimplifyCFG] Add additional cost for instructions in mergeConditionalStoreToAddress.

Maybe the reason of this regression is not here and I worked in wrong direction. If so - I will really appreciate any clarifications about it

Sep 6 2019, 8:45 AM · Unknown Object (Project)
kpdev42 created D67281: [AArch64][SimplifyCFG] Add additional cost for instructions in mergeConditionalStoreToAddress.
Sep 6 2019, 8:38 AM · Unknown Object (Project)