Page MenuHomePhabricator

danlark (Danila Kutenin)
User

Projects

User does not belong to any projects.

User Details

User Since
Nov 10 2017, 11:52 PM (148 w, 6 d)

Recent Activity

Jul 24 2020

danlark updated the diff for D84497: [builtins][NFC] Replace the constants better matching readability in udivmodti4.

Correctness

Jul 24 2020, 1:03 AM · Restricted Project
Herald added a project to D84497: [builtins][NFC] Replace the constants better matching readability in udivmodti4: Restricted Project.
Jul 24 2020, 12:58 AM · Restricted Project

Jul 10 2020

danlark planned changes to D83547: [builtins] Optimize the 128-bit division according to "Improved division by invariant integers" paper.

I need to double check the cold cache performance, it may happen that it is slower in that case

Jul 10 2020, 6:38 AM · Restricted Project
danlark added a reviewer for D83547: [builtins] Optimize the 128-bit division according to "Improved division by invariant integers" paper: howard.hinnant.
Jul 10 2020, 5:57 AM · Restricted Project
danlark updated the diff for D83547: [builtins] Optimize the 128-bit division according to "Improved division by invariant integers" paper.

Provide better names than in paper

Jul 10 2020, 5:55 AM · Restricted Project
danlark added a comment to D83547: [builtins] Optimize the 128-bit division according to "Improved division by invariant integers" paper.

I have no idea what the policy is WRT size for compiler-rt. How big is the diff if you take code size into consideration ?

Jul 10 2020, 5:46 AM · Restricted Project
danlark updated the summary of D83547: [builtins] Optimize the 128-bit division according to "Improved division by invariant integers" paper.
Jul 10 2020, 5:35 AM · Restricted Project
Herald added a project to D83547: [builtins] Optimize the 128-bit division according to "Improved division by invariant integers" paper: Restricted Project.
Jul 10 2020, 5:34 AM · Restricted Project
danlark updated the diff for D81809: [builtins] Optimize udivmodti4 for many platforms..

Fix clang format

Jul 10 2020, 12:55 AM · Restricted Project
danlark updated the diff for D81809: [builtins] Optimize udivmodti4 for many platforms..

Fix comments

Jul 10 2020, 12:43 AM · Restricted Project

Jul 9 2020

danlark added a comment to D81809: [builtins] Optimize udivmodti4 for many platforms..

Please, take a look

Jul 9 2020, 2:06 PM · Restricted Project

Jul 8 2020

danlark updated the diff for D81809: [builtins] Optimize udivmodti4 for many platforms..

Update the real reference

Jul 8 2020, 11:45 AM · Restricted Project
danlark closed D83027: Add benchmarks for 128 bit division and create a directory for all builtins benchmarks.

879f4962e83f98863c83e385e956d579e131791f

Jul 8 2020, 12:56 AM

Jul 7 2020

danlark updated the diff for D81809: [builtins] Optimize udivmodti4 for many platforms..

Fix comments

Jul 7 2020, 11:33 PM · Restricted Project
danlark updated the diff for D83027: Add benchmarks for 128 bit division and create a directory for all builtins benchmarks.

Fix

Jul 7 2020, 5:25 PM
danlark added inline comments to D83027: Add benchmarks for 128 bit division and create a directory for all builtins benchmarks.
Jul 7 2020, 10:14 AM
danlark updated the diff for D83027: Add benchmarks for 128 bit division and create a directory for all builtins benchmarks.

Fix comments

Jul 7 2020, 10:14 AM
danlark added a comment to D83027: Add benchmarks for 128 bit division and create a directory for all builtins benchmarks.

Could you submit it for me? I don't have commit rights for now. danilak@google.com

Jul 7 2020, 7:55 AM
danlark updated the diff for D81809: [builtins] Optimize udivmodti4 for many platforms..

Fix clang-tidy readability warnings more

Jul 7 2020, 3:15 AM · Restricted Project
danlark updated the diff for D81809: [builtins] Optimize udivmodti4 for many platforms..

clang-format

Jul 7 2020, 3:11 AM · Restricted Project
danlark updated the diff for D81809: [builtins] Optimize udivmodti4 for many platforms..

Fix non x86-mode

Jul 7 2020, 3:10 AM · Restricted Project
danlark updated the diff for D81809: [builtins] Optimize udivmodti4 for many platforms..

Fix clang-tidy warnings

Jul 7 2020, 3:08 AM · Restricted Project
danlark added a comment to D81809: [builtins] Optimize udivmodti4 for many platforms..

Ping

Jul 7 2020, 2:36 AM · Restricted Project

Jul 2 2020

danlark updated the diff for D83027: Add benchmarks for 128 bit division and create a directory for all builtins benchmarks.

Fix comments

Jul 2 2020, 3:43 AM
danlark added inline comments to D83027: Add benchmarks for 128 bit division and create a directory for all builtins benchmarks.
Jul 2 2020, 3:43 AM
danlark updated the summary of D81809: [builtins] Optimize udivmodti4 for many platforms..
Jul 2 2020, 2:38 AM · Restricted Project
danlark updated the summary of D81809: [builtins] Optimize udivmodti4 for many platforms..
Jul 2 2020, 2:38 AM · Restricted Project
danlark updated the diff for D83027: Add benchmarks for 128 bit division and create a directory for all builtins benchmarks.

Remove unnecessary header

Jul 2 2020, 2:38 AM
danlark added a comment to D81809: [builtins] Optimize udivmodti4 for many platforms..

Nice. I have not looked at the code yet, but I think it would make sense to add your benchmark to the compiler-rt unit tests.

Jul 2 2020, 2:38 AM · Restricted Project
danlark created D83027: Add benchmarks for 128 bit division and create a directory for all builtins benchmarks.
Jul 2 2020, 2:38 AM

Jul 1 2020

danlark updated the summary of D81809: [builtins] Optimize udivmodti4 for many platforms..
Jul 1 2020, 4:13 PM · Restricted Project
danlark updated the diff for D81809: [builtins] Optimize udivmodti4 for many platforms..

CHAR_BIT instead of 8

Jul 1 2020, 3:40 PM · Restricted Project
danlark updated the summary of D81809: [builtins] Optimize udivmodti4 for many platforms..
Jul 1 2020, 3:09 PM · Restricted Project
danlark updated the summary of D81809: [builtins] Optimize udivmodti4 for many platforms..
Jul 1 2020, 3:09 PM · Restricted Project
danlark updated the diff for D81809: [builtins] Optimize udivmodti4 for many platforms..

Style

Jul 1 2020, 3:09 PM · Restricted Project
danlark added a reviewer for D81809: [builtins] Optimize udivmodti4 for many platforms.: MaskRay.
Jul 1 2020, 2:36 PM · Restricted Project
danlark added a comment to D81809: [builtins] Optimize udivmodti4 for many platforms..

Ping and maybe I need some help in introducing benchmarks (if we really need to) for this because I don't quite understand how and where it should be best located.

Jul 1 2020, 2:36 PM · Restricted Project

Jun 15 2020

danlark updated the diff for D81809: [builtins] Optimize udivmodti4 for many platforms..

Style

Jun 15 2020, 1:36 AM · Restricted Project

Jun 14 2020

danlark updated the diff for D81809: [builtins] Optimize udivmodti4 for many platforms..

Clang format

Jun 14 2020, 11:58 PM · Restricted Project
danlark updated the summary of D81809: [builtins] Optimize udivmodti4 for many platforms..
Jun 14 2020, 11:58 PM · Restricted Project
danlark updated the diff for D81809: [builtins] Optimize udivmodti4 for many platforms..

Use native division when high is zero.

Jun 14 2020, 3:28 PM · Restricted Project
danlark updated the summary of D81809: [builtins] Optimize udivmodti4 for many platforms..
Jun 14 2020, 10:08 AM · Restricted Project
danlark retitled D81809: [builtins] Optimize udivmodti4 for many platforms. from Optimize udivmodti4 for many platforms. to [builtins] Optimize udivmodti4 for many platforms..
Jun 14 2020, 10:08 AM · Restricted Project
danlark created D81809: [builtins] Optimize udivmodti4 for many platforms..
Jun 14 2020, 10:08 AM · Restricted Project
danlark added a reviewer for D81809: [builtins] Optimize udivmodti4 for many platforms.: courbet.
Jun 14 2020, 10:08 AM · Restricted Project

May 28 2020

danlark abandoned D58025: [libcxx] MSVC fails to compile `operator valarray<template>`.
May 28 2020, 7:34 AM
danlark abandoned D58021: Win32 does not have popcnt64 function and fix bug with defines in ctz function.
May 28 2020, 7:34 AM
danlark abandoned D58022: __builtin_strlen is not supported for MSVC e.g and it is not correct to use it without knowledge of this "builtin" in advance.
May 28 2020, 7:34 AM
danlark abandoned D44823: [libcxx] Improving std::vector<char> and std::deque<char> perfomance.
May 28 2020, 7:34 AM

May 27 2020

danlark added inline comments to D44823: [libcxx] Improving std::vector<char> and std::deque<char> perfomance.
May 27 2020, 2:46 PM

Jan 20 2020

danlark added a comment to D71568: [InstCombine] `select + mul` -> `select + shl` with power of twos..

@spatel @lebedev.ri Ping

Jan 20 2020, 4:07 AM · Restricted Project

Jan 14 2020

danlark added a comment to D71568: [InstCombine] `select + mul` -> `select + shl` with power of twos..

@lebedev.ri Friendly ping and see message from spatel@ above :)

Jan 14 2020, 9:55 AM · Restricted Project

Jan 9 2020

danlark added a comment to D71568: [InstCombine] `select + mul` -> `select + shl` with power of twos..

There's a lot going on here, and the patch doesn't apply cleanly to current source. Can you pre-commit any NFC changes/tests to make this patch smaller? For example, the udiv change/tests are not affected by the mul code?

Sorry - I didn't see earlier that this patch is part of a sequence.
I'm a bit skeptical about the need to extend the "udiv action" machine. Are the motivating cases really that complicated or could we get away with a simpler pattern match of mul(select...)?

I am not sure but I just reused the code for both division and multiplication -- from my perspective the idea is the same.

Also, I rebased a bit and made the patch smaller as you asked.

Jan 9 2020, 10:14 AM · Restricted Project
danlark added a comment to D71568: [InstCombine] `select + mul` -> `select + shl` with power of twos..

There's a lot going on here, and the patch doesn't apply cleanly to current source. Can you pre-commit any NFC changes/tests to make this patch smaller? For example, the udiv change/tests are not affected by the mul code?

Sorry - I didn't see earlier that this patch is part of a sequence.
I'm a bit skeptical about the need to extend the "udiv action" machine. Are the motivating cases really that complicated or could we get away with a simpler pattern match of mul(select...)?

Jan 9 2020, 9:45 AM · Restricted Project
danlark updated the diff for D71568: [InstCombine] `select + mul` -> `select + shl` with power of twos..

Rebase and make tests committed before

Jan 9 2020, 9:36 AM · Restricted Project
danlark updated the diff for D71567: [InstCombine] Add tests for `select + mul` for power of twos. NFC.

Rebase

Jan 9 2020, 9:36 AM · Restricted Project
danlark updated the diff for D71567: [InstCombine] Add tests for `select + mul` for power of twos. NFC.

Update tests

Jan 9 2020, 9:36 AM · Restricted Project
danlark updated the diff for D71568: [InstCombine] `select + mul` -> `select + shl` with power of twos..

Removing div tests, we don't need them

Jan 9 2020, 9:36 AM · Restricted Project
danlark added a comment to D71568: [InstCombine] `select + mul` -> `select + shl` with power of twos..

@spatel You are doing a lot of stuff around this code, PTAL.

Jan 9 2020, 7:34 AM · Restricted Project
danlark updated the diff for D71568: [InstCombine] `select + mul` -> `select + shl` with power of twos..

Applying m_ZExtOrSelf

Jan 9 2020, 7:34 AM · Restricted Project
danlark added a comment to D71568: [InstCombine] `select + mul` -> `select + shl` with power of twos..

@lebedev.ri Can you please take a look and possibly submit?

Jan 9 2020, 2:54 AM · Restricted Project

Jan 4 2020

danlark added a comment to D71568: [InstCombine] `select + mul` -> `select + shl` with power of twos..

Ping

Jan 4 2020, 5:00 AM · Restricted Project
danlark updated the diff for D71568: [InstCombine] `select + mul` -> `select + shl` with power of twos..

Replace finally everything with asserts

Jan 4 2020, 4:57 AM · Restricted Project

Jan 1 2020

danlark added a reviewer for D71568: [InstCombine] `select + mul` -> `select + shl` with power of twos.: nikic.
Jan 1 2020, 6:34 AM · Restricted Project

Dec 30 2019

danlark updated the diff for D71568: [InstCombine] `select + mul` -> `select + shl` with power of twos..

Remove nullptr assignment

Dec 30 2019, 8:22 AM · Restricted Project
danlark updated the diff for D71568: [InstCombine] `select + mul` -> `select + shl` with power of twos..

Fix asserts

Dec 30 2019, 8:22 AM · Restricted Project
danlark added a comment to D71568: [InstCombine] `select + mul` -> `select + shl` with power of twos..

Another hopeless ping before NY

Dec 30 2019, 6:57 AM · Restricted Project

Dec 25 2019

danlark added a comment to D71568: [InstCombine] `select + mul` -> `select + shl` with power of twos..

Ping

Dec 25 2019, 8:13 AM · Restricted Project

Dec 22 2019

danlark added a comment to D71568: [InstCombine] `select + mul` -> `select + shl` with power of twos..

Ping.

Dec 22 2019, 11:26 AM · Restricted Project

Dec 19 2019

danlark added a comment to D71568: [InstCombine] `select + mul` -> `select + shl` with power of twos..

Ping

Dec 19 2019, 3:30 PM · Restricted Project

Dec 18 2019

danlark updated the diff for D71568: [InstCombine] `select + mul` -> `select + shl` with power of twos..

Don't add zero

Dec 18 2019, 8:47 AM · Restricted Project

Dec 17 2019

danlark updated the diff for D71568: [InstCombine] `select + mul` -> `select + shl` with power of twos..

Also add NUW

Dec 17 2019, 5:29 PM · Restricted Project
danlark added a comment to D71568: [InstCombine] `select + mul` -> `select + shl` with power of twos..

Thank you for working on this.

Dec 17 2019, 5:09 PM · Restricted Project
danlark updated the diff for D71568: [InstCombine] `select + mul` -> `select + shl` with power of twos..

Fix overflow in shifting and further propagation

Dec 17 2019, 5:09 PM · Restricted Project
danlark added inline comments to D71568: [InstCombine] `select + mul` -> `select + shl` with power of twos..
Dec 17 2019, 5:09 PM · Restricted Project
danlark added a comment to D71568: [InstCombine] `select + mul` -> `select + shl` with power of twos..

Now I think review is in a good shape

Dec 17 2019, 10:24 AM · Restricted Project
danlark updated the diff for D71568: [InstCombine] `select + mul` -> `select + shl` with power of twos..

Rebase and style

Dec 17 2019, 3:00 AM · Restricted Project
danlark added inline comments to D71568: [InstCombine] `select + mul` -> `select + shl` with power of twos..
Dec 17 2019, 2:32 AM · Restricted Project
danlark updated the diff for D71568: [InstCombine] `select + mul` -> `select + shl` with power of twos..

Update vector test

Dec 17 2019, 2:32 AM · Restricted Project
danlark added inline comments to D71568: [InstCombine] `select + mul` -> `select + shl` with power of twos..
Dec 17 2019, 1:54 AM · Restricted Project
danlark added inline comments to D71568: [InstCombine] `select + mul` -> `select + shl` with power of twos..
Dec 17 2019, 1:54 AM · Restricted Project
danlark updated the diff for D71568: [InstCombine] `select + mul` -> `select + shl` with power of twos..

undef should return zero in select+shl

Dec 17 2019, 1:54 AM · Restricted Project
danlark updated the diff for D71568: [InstCombine] `select + mul` -> `select + shl` with power of twos..

Correct INT_MIN test

Dec 17 2019, 12:57 AM · Restricted Project
danlark updated the diff for D71567: [InstCombine] Add tests for `select + mul` for power of twos. NFC.

Correct INT_MIN test

Dec 17 2019, 12:57 AM · Restricted Project

Dec 16 2019

danlark updated the diff for D71568: [InstCombine] `select + mul` -> `select + shl` with power of twos..

Rebase

Dec 16 2019, 4:53 PM · Restricted Project
danlark updated the diff for D71567: [InstCombine] Add tests for `select + mul` for power of twos. NFC.

More robust zext tests

Dec 16 2019, 4:53 PM · Restricted Project
danlark updated the diff for D71568: [InstCombine] `select + mul` -> `select + shl` with power of twos..

Even more robust tests

Dec 16 2019, 4:44 PM · Restricted Project
danlark updated the diff for D71568: [InstCombine] `select + mul` -> `select + shl` with power of twos..

More robust zext tests

Dec 16 2019, 4:44 PM · Restricted Project
danlark updated the diff for D71568: [InstCombine] `select + mul` -> `select + shl` with power of twos..

Add zext test

Dec 16 2019, 4:34 PM · Restricted Project
danlark updated the diff for D71568: [InstCombine] `select + mul` -> `select + shl` with power of twos..

Add simple min integer test

Dec 16 2019, 4:07 PM · Restricted Project
danlark added inline comments to D71568: [InstCombine] `select + mul` -> `select + shl` with power of twos..
Dec 16 2019, 3:57 PM · Restricted Project
danlark added a comment to D71567: [InstCombine] Add tests for `select + mul` for power of twos. NFC.

You probably want to throw in some vector undef tests as well.
(e.g. a singled lane in one of constants, the same lane in both, different lanes in each)

Dec 16 2019, 3:57 PM · Restricted Project
danlark updated the diff for D71568: [InstCombine] `select + mul` -> `select + shl` with power of twos..

Fix the issues and rebase

Dec 16 2019, 3:57 PM · Restricted Project
danlark updated the diff for D71567: [InstCombine] Add tests for `select + mul` for power of twos. NFC.

Rebase

Dec 16 2019, 3:57 PM · Restricted Project
danlark updated the diff for D71567: [InstCombine] Add tests for `select + mul` for power of twos. NFC.
Dec 16 2019, 2:44 PM · Restricted Project
danlark updated the diff for D71567: [InstCombine] Add tests for `select + mul` for power of twos. NFC.

Add nsw+nuw tests

Dec 16 2019, 2:39 PM · Restricted Project
danlark added a comment to D71561: [InstCombine] Refactor FoldUDivAction for future usage with multiplication. NFC.

There's a lot of changes in the diff.
Please can you split this into preparatory NFC cleanup, and the actual change?

Dec 16 2019, 2:16 PM · Restricted Project
danlark updated the diff for D71567: [InstCombine] Add tests for `select + mul` for power of twos. NFC.

Finally readable chain review

Dec 16 2019, 2:16 PM · Restricted Project
danlark updated the diff for D71567: [InstCombine] Add tests for `select + mul` for power of twos. NFC.

Trying to make chain review

Dec 16 2019, 2:11 PM · Restricted Project
danlark updated the diff for D71567: [InstCombine] Add tests for `select + mul` for power of twos. NFC.
Dec 16 2019, 2:07 PM · Restricted Project