Page MenuHomePhabricator

skatkov (Serguei Katkov)
User

Projects

User does not belong to any projects.

User Details

User Since
Jan 25 2017, 1:38 AM (129 w, 5 d)

Recent Activity

Today

skatkov updated the diff for D64983: [Loop Peeling] Introduce an option for full peeling disabling.

the variable and option name changed.

Mon, Jul 22, 2:04 AM · Restricted Project
skatkov updated the diff for D64972: [Loop Peeling] Do not close further unroll/peel if profile based peeling was not used.

Test is updated to show what this patch changes.

Mon, Jul 22, 2:03 AM · Restricted Project
skatkov added a comment to D64972: [Loop Peeling] Do not close further unroll/peel if profile based peeling was not used.

I'm not quite sure this is the right macro approach.

The comment near the code your modifying makes me thing the whole reasoning behind disabling future peeling and unrolling after the first peel may be flawed. It doesn't make sense to "use up" profiling information. Assuming we correctly updated our profiling when doing the transform, the resulting profile for the loop should indicate that it's cold and thus not profitable to further peel/unroll. If that's not happening, maybe there's another issue in play? (I wonder if your other profile bug fix may help here?)

p.s. I'm opened to being convinced that this is a practical answer, even if not an ideal one. Just make the argument. :)

Mon, Jul 22, 2:02 AM · Restricted Project

Yesterday

skatkov committed rGc6c31da86773: [Loop Peeling] Fix the handling of branch weights of peeled off branches. (authored by skatkov).
[Loop Peeling] Fix the handling of branch weights of peeled off branches.
Sun, Jul 21, 10:17 PM
skatkov committed rL366665: [Loop Peeling] Fix the handling of branch weights of peeled off branches..
[Loop Peeling] Fix the handling of branch weights of peeled off branches.
Sun, Jul 21, 10:17 PM
skatkov closed D64235: [Loop Peeling] Fix the handling of branch weights of peeled off branches.
Sun, Jul 21, 10:17 PM · Restricted Project

Fri, Jul 19

skatkov added a parent revision for D64983: [Loop Peeling] Introduce an option for full peeling disabling: D64972: [Loop Peeling] Do not close further unroll/peel if profile based peeling was not used.
Fri, Jul 19, 2:37 AM · Restricted Project
skatkov added a child revision for D64972: [Loop Peeling] Do not close further unroll/peel if profile based peeling was not used: D64983: [Loop Peeling] Introduce an option for full peeling disabling.
Fri, Jul 19, 2:37 AM · Restricted Project
skatkov created D64983: [Loop Peeling] Introduce an option for full peeling disabling.
Fri, Jul 19, 2:35 AM · Restricted Project
skatkov committed rGbde33af85a1b: [Loop Peeling] Enable peeling of multiple exits by default. (authored by skatkov).
[Loop Peeling] Enable peeling of multiple exits by default.
Fri, Jul 19, 1:37 AM
skatkov committed rL366542: [Loop Peeling] Enable peeling of multiple exits by default..
[Loop Peeling] Enable peeling of multiple exits by default.
Fri, Jul 19, 1:36 AM
skatkov closed D64619: [Loop Peeling] Enable peeling of multiple exits by default.
Fri, Jul 19, 1:36 AM · Restricted Project

Thu, Jul 18

skatkov added a child revision for D64235: [Loop Peeling] Fix the handling of branch weights of peeled off branches: D64972: [Loop Peeling] Do not close further unroll/peel if profile based peeling was not used.
Thu, Jul 18, 11:51 PM · Restricted Project
skatkov added a parent revision for D64972: [Loop Peeling] Do not close further unroll/peel if profile based peeling was not used: D64235: [Loop Peeling] Fix the handling of branch weights of peeled off branches.
Thu, Jul 18, 11:51 PM · Restricted Project
skatkov created D64972: [Loop Peeling] Do not close further unroll/peel if profile based peeling was not used.
Thu, Jul 18, 11:51 PM · Restricted Project
skatkov updated the diff for D64235: [Loop Peeling] Fix the handling of branch weights of peeled off branches.

Please, take a look.

Thu, Jul 18, 3:12 AM · Restricted Project
skatkov committed rG0ffa833d5470: [LoopInfo] Use early return in branch weight update functions. NFC. (authored by skatkov).
[LoopInfo] Use early return in branch weight update functions. NFC.
Thu, Jul 18, 12:37 AM
skatkov committed rL366411: [LoopInfo] Use early return in branch weight update functions. NFC..
[LoopInfo] Use early return in branch weight update functions. NFC.
Thu, Jul 18, 12:37 AM

Wed, Jul 17

skatkov planned changes to D64235: [Loop Peeling] Fix the handling of branch weights of peeled off branches.

Hi Philip, Thank you for review. I'll update a patch.

Wed, Jul 17, 9:48 PM · Restricted Project
skatkov updated the diff for D64235: [Loop Peeling] Fix the handling of branch weights of peeled off branches.
Wed, Jul 17, 2:32 AM · Restricted Project
skatkov committed rG587d13d4c235: [LoopInfo] Fix getUniqueNonLatchExitBlocks (authored by skatkov).
[LoopInfo] Fix getUniqueNonLatchExitBlocks
Wed, Jul 17, 12:12 AM
skatkov committed rL366294: [LoopInfo] Fix getUniqueNonLatchExitBlocks.
[LoopInfo] Fix getUniqueNonLatchExitBlocks
Wed, Jul 17, 12:12 AM
skatkov closed D64787: [LoopInfo] Fix getUniqueNonLatchExitBlocks.
Wed, Jul 17, 12:12 AM · Restricted Project

Tue, Jul 16

skatkov abandoned D63918: [LoopPeeling] Better handling of branch weights for small values.

Abandon in a favor of https://reviews.llvm.org/D64235

Tue, Jul 16, 10:42 PM
skatkov created D64787: [LoopInfo] Fix getUniqueNonLatchExitBlocks.
Tue, Jul 16, 12:59 AM · Restricted Project
skatkov added inline comments to D64553: [LoopUtils] Extend the scope of getLoopEstimatedTripCount.
Tue, Jul 16, 12:59 AM · Restricted Project

Mon, Jul 15

skatkov added inline comments to D64553: [LoopUtils] Extend the scope of getLoopEstimatedTripCount.
Mon, Jul 15, 8:51 PM · Restricted Project
skatkov added inline comments to D64553: [LoopUtils] Extend the scope of getLoopEstimatedTripCount.
Mon, Jul 15, 8:18 PM · Restricted Project
skatkov updated subscribers of rL366048: [Loop Peeling] Enable peeling for loops with multiple exits.

Thanks to @davezarzycki who fixed it in
commit 12400b97838d78386920cbda3c9dadb9f8727ce3
Author: David Zarzycki <dave@znu.io>
Date: Mon Jul 15 14:12:35 2019 +0000

Mon, Jul 15, 7:58 PM
skatkov committed rGd021ad9fbeb6: [Loop Peeling] Fix the bug with IDom setting for exit loops (authored by skatkov).
[Loop Peeling] Fix the bug with IDom setting for exit loops
Mon, Jul 15, 2:14 AM
skatkov committed rL366050: [Loop Peeling] Fix the bug with IDom setting for exit loops.
[Loop Peeling] Fix the bug with IDom setting for exit loops
Mon, Jul 15, 2:13 AM
skatkov closed D64618: [Loop Peeling] Fix the bug with IDom setting for exit loops.
Mon, Jul 15, 2:13 AM · Restricted Project
skatkov committed rG3ed93b4673b9: [Loop Peeling] Enable peeling for loops with multiple exits (authored by skatkov).
[Loop Peeling] Enable peeling for loops with multiple exits
Mon, Jul 15, 1:29 AM
skatkov committed rL366048: [Loop Peeling] Enable peeling for loops with multiple exits.
[Loop Peeling] Enable peeling for loops with multiple exits
Mon, Jul 15, 1:28 AM
skatkov closed D63923: [Loop Peeling] Enable peeling for loops with multiple exits.
Mon, Jul 15, 1:28 AM · Restricted Project

Sun, Jul 14

skatkov committed rG45c43e7d04d3: [LoopUtils] Extend the scope of getLoopEstimatedTripCount (authored by skatkov).
[LoopUtils] Extend the scope of getLoopEstimatedTripCount
Sun, Jul 14, 11:44 PM
skatkov committed rL366042: [LoopUtils] Extend the scope of getLoopEstimatedTripCount.
[LoopUtils] Extend the scope of getLoopEstimatedTripCount
Sun, Jul 14, 11:42 PM
skatkov closed D64553: [LoopUtils] Extend the scope of getLoopEstimatedTripCount.
Sun, Jul 14, 11:42 PM · Restricted Project
skatkov committed rGf1ee04c42a43: [LoopInfo] Introduce getUniqueNonLatchExitBlocks utility function (authored by skatkov).
[LoopInfo] Introduce getUniqueNonLatchExitBlocks utility function
Sun, Jul 14, 10:55 PM
skatkov committed rL366040: [LoopInfo] Introduce getUniqueNonLatchExitBlocks utility function.
[LoopInfo] Introduce getUniqueNonLatchExitBlocks utility function
Sun, Jul 14, 10:51 PM
skatkov closed D64548: [LoopInfo] Introduce getUniqueNonLatchExitBlocks utility function.
Sun, Jul 14, 10:51 PM · Restricted Project
skatkov added inline comments to D64618: [Loop Peeling] Fix the bug with IDom setting for exit loops.
Sun, Jul 14, 10:09 PM · Restricted Project
skatkov added a child revision for D64618: [Loop Peeling] Fix the bug with IDom setting for exit loops: D64619: [Loop Peeling] Enable peeling of multiple exits by default.
Sun, Jul 14, 9:42 PM · Restricted Project
skatkov added a parent revision for D64619: [Loop Peeling] Enable peeling of multiple exits by default: D64618: [Loop Peeling] Fix the bug with IDom setting for exit loops.
Sun, Jul 14, 9:42 PM · Restricted Project
skatkov added a comment to D64548: [LoopInfo] Introduce getUniqueNonLatchExitBlocks utility function.

I decided to avoid using public API with predicate due to it will require introducing template function in template class and effectively moving implementation to LoopInfo.h

Sun, Jul 14, 9:04 PM · Restricted Project
skatkov updated the diff for D64548: [LoopInfo] Introduce getUniqueNonLatchExitBlocks utility function.

Make getUniqueExitBlocksHelper more general with using filter predicate.
Unit test is added.

Sun, Jul 14, 8:59 PM · Restricted Project
skatkov added inline comments to D64553: [LoopUtils] Extend the scope of getLoopEstimatedTripCount.
Sun, Jul 14, 8:45 PM · Restricted Project

Fri, Jul 12

skatkov added a comment to D64553: [LoopUtils] Extend the scope of getLoopEstimatedTripCount.

May be good to have a test.

Fri, Jul 12, 3:01 AM · Restricted Project
skatkov created D64619: [Loop Peeling] Enable peeling of multiple exits by default.
Fri, Jul 12, 1:52 AM · Restricted Project
skatkov added a parent revision for D64618: [Loop Peeling] Fix the bug with IDom setting for exit loops: D63923: [Loop Peeling] Enable peeling for loops with multiple exits.
Fri, Jul 12, 1:50 AM · Restricted Project
skatkov added a child revision for D63923: [Loop Peeling] Enable peeling for loops with multiple exits: D64618: [Loop Peeling] Fix the bug with IDom setting for exit loops.
Fri, Jul 12, 1:50 AM · Restricted Project
skatkov created D64618: [Loop Peeling] Fix the bug with IDom setting for exit loops.
Fri, Jul 12, 1:49 AM · Restricted Project

Thu, Jul 11

skatkov added inline comments to D64553: [LoopUtils] Extend the scope of getLoopEstimatedTripCount.
Thu, Jul 11, 11:00 PM · Restricted Project
skatkov added a parent revision for D63923: [Loop Peeling] Enable peeling for loops with multiple exits: D64553: [LoopUtils] Extend the scope of getLoopEstimatedTripCount.
Thu, Jul 11, 10:45 PM · Restricted Project
skatkov added a child revision for D64553: [LoopUtils] Extend the scope of getLoopEstimatedTripCount: D63923: [Loop Peeling] Enable peeling for loops with multiple exits.
Thu, Jul 11, 10:45 PM · Restricted Project
skatkov updated the diff for D63923: [Loop Peeling] Enable peeling for loops with multiple exits.

Handled Philip's comments.

Thu, Jul 11, 10:45 PM · Restricted Project
skatkov added a child revision for D64548: [LoopInfo] Introduce getUniqueNonLatchExitBlocks utility function: D64553: [LoopUtils] Extend the scope of getLoopEstimatedTripCount.
Thu, Jul 11, 3:33 AM · Restricted Project
skatkov added a parent revision for D64553: [LoopUtils] Extend the scope of getLoopEstimatedTripCount: D64548: [LoopInfo] Introduce getUniqueNonLatchExitBlocks utility function.
Thu, Jul 11, 3:33 AM · Restricted Project
skatkov created D64553: [LoopUtils] Extend the scope of getLoopEstimatedTripCount.
Thu, Jul 11, 3:33 AM · Restricted Project
skatkov created D64548: [LoopInfo] Introduce getUniqueNonLatchExitBlocks utility function.
Thu, Jul 11, 12:42 AM · Restricted Project

Wed, Jul 10

skatkov committed rGd000f8b69f72: [SimpleLoopUnswitch] Don't consider unswitching `switch` insructions with one… (authored by skatkov).
[SimpleLoopUnswitch] Don't consider unswitching `switch` insructions with one…
Wed, Jul 10, 3:26 AM
skatkov committed rL365611: [SimpleLoopUnswitch] Don't consider unswitching `switch` insructions with one….
[SimpleLoopUnswitch] Don't consider unswitching `switch` insructions with one…
Wed, Jul 10, 3:25 AM
skatkov closed D64404: [SimpleLoopUnswitch] Don't consider unswitching `switch` insructions with one unique successor.
Wed, Jul 10, 3:25 AM · Restricted Project
skatkov committed rG97f19f3a4970: [SimpleLoopUnswitch] Add a test case exposing a bug (authored by skatkov).
[SimpleLoopUnswitch] Add a test case exposing a bug
Wed, Jul 10, 1:29 AM
skatkov committed rL365600: [SimpleLoopUnswitch] Add a test case exposing a bug.
[SimpleLoopUnswitch] Add a test case exposing a bug
Wed, Jul 10, 1:28 AM
skatkov closed D64403: [SimpleLoopUnswitch] Add a test case exposing a bug.
Wed, Jul 10, 1:28 AM · Restricted Project

Tue, Jul 9

skatkov accepted D64404: [SimpleLoopUnswitch] Don't consider unswitching `switch` insructions with one unique successor.
Tue, Jul 9, 10:49 PM · Restricted Project
skatkov accepted D64403: [SimpleLoopUnswitch] Add a test case exposing a bug.
Tue, Jul 9, 10:44 PM · Restricted Project

Mon, Jul 8

skatkov committed rG77bb3a486fa6: [Loop Peeling] Add support for peeling of loops with multiple exits (authored by skatkov).
[Loop Peeling] Add support for peeling of loops with multiple exits
Mon, Jul 8, 11:09 PM
skatkov committed rL365441: [Loop Peeling] Add support for peeling of loops with multiple exits.
[Loop Peeling] Add support for peeling of loops with multiple exits
Mon, Jul 8, 11:09 PM
skatkov closed D63921: [Loop Peeling] Add support for peeling of loops with multiple exits.
Mon, Jul 8, 11:09 PM · Restricted Project
skatkov committed rGc6caddb73d42: [LoopInfo] Update getExitEdges to accept vector of pairs for non const… (authored by skatkov).
[LoopInfo] Update getExitEdges to accept vector of pairs for non const…
Mon, Jul 8, 9:22 PM
skatkov committed rL365437: [LoopInfo] Update getExitEdges to accept vector of pairs for non const….
[LoopInfo] Update getExitEdges to accept vector of pairs for non const…
Mon, Jul 8, 9:22 PM
skatkov closed D64309: [LoopInfo] Update getExitEdges to accept vector of pairs for non const BasicBlock.
Mon, Jul 8, 9:22 PM · Restricted Project
skatkov abandoned D64060: [LoopInfo] Extend getExitEdges API.

Abandon in favor of https://reviews.llvm.org/D64309

Mon, Jul 8, 7:38 PM

Sun, Jul 7

skatkov created D64309: [LoopInfo] Update getExitEdges to accept vector of pairs for non const BasicBlock.
Sun, Jul 7, 10:37 PM · Restricted Project
skatkov added a child revision for D64309: [LoopInfo] Update getExitEdges to accept vector of pairs for non const BasicBlock: D63921: [Loop Peeling] Add support for peeling of loops with multiple exits.
Sun, Jul 7, 10:37 PM · Restricted Project
skatkov added a parent revision for D63921: [Loop Peeling] Add support for peeling of loops with multiple exits: D64309: [LoopInfo] Update getExitEdges to accept vector of pairs for non const BasicBlock.
Sun, Jul 7, 10:37 PM · Restricted Project

Fri, Jul 5

skatkov added inline comments to D64060: [LoopInfo] Extend getExitEdges API.
Fri, Jul 5, 3:05 AM

Thu, Jul 4

skatkov created D64235: [Loop Peeling] Fix the handling of branch weights of peeled off branches.
Thu, Jul 4, 9:57 PM · Restricted Project
skatkov added inline comments to D63918: [LoopPeeling] Better handling of branch weights for small values.
Thu, Jul 4, 9:57 PM
skatkov updated the diff for D63923: [Loop Peeling] Enable peeling for loops with multiple exits.
Thu, Jul 4, 2:47 AM · Restricted Project

Wed, Jul 3

skatkov added inline comments to D63921: [Loop Peeling] Add support for peeling of loops with multiple exits.
Wed, Jul 3, 11:02 PM · Restricted Project
skatkov committed rG6d8813a3915a: [LoopPeel] Some small comment update. NFC. (authored by skatkov).
[LoopPeel] Some small comment update. NFC.
Wed, Jul 3, 10:14 PM
skatkov committed rL365107: [LoopPeel] Some small comment update. NFC..
[LoopPeel] Some small comment update. NFC.
Wed, Jul 3, 10:13 PM
skatkov added inline comments to D64060: [LoopInfo] Extend getExitEdges API.
Wed, Jul 3, 8:01 PM
skatkov updated the diff for D63921: [Loop Peeling] Add support for peeling of loops with multiple exits.

rebase + changes according to review.

Wed, Jul 3, 12:53 AM · Restricted Project
skatkov updated the diff for D63923: [Loop Peeling] Enable peeling for loops with multiple exits.

Rebase

Wed, Jul 3, 12:53 AM · Restricted Project
skatkov committed rGc22e772a286b: [LoopPeel] Re-factor llvm::peelLoop method. NFC. (authored by skatkov).
[LoopPeel] Re-factor llvm::peelLoop method. NFC.
Wed, Jul 3, 12:10 AM

Tue, Jul 2

skatkov committed rL365002: [LoopPeel] Re-factor llvm::peelLoop method. NFC..
[LoopPeel] Re-factor llvm::peelLoop method. NFC.
Tue, Jul 2, 10:59 PM
skatkov closed D63917: [LoopPeel] Re-factor llvm::peelLoop method. NFC..
Tue, Jul 2, 10:59 PM · Restricted Project
skatkov added a comment to D63917: [LoopPeel] Re-factor llvm::peelLoop method. NFC..

Hi Florian, I will land this change with comment update because I do not understand what exactly comment needs to be fixed.
Feel free to update this review with details what wrong in comment you see and I will land it as follow-up patch.

Tue, Jul 2, 7:33 PM · Restricted Project
skatkov added a parent revision for D63923: [Loop Peeling] Enable peeling for loops with multiple exits: D63921: [Loop Peeling] Add support for peeling of loops with multiple exits.
Tue, Jul 2, 2:59 AM · Restricted Project
skatkov added a child revision for D63921: [Loop Peeling] Add support for peeling of loops with multiple exits: D63923: [Loop Peeling] Enable peeling for loops with multiple exits.
Tue, Jul 2, 2:59 AM · Restricted Project
skatkov updated the diff for D63923: [Loop Peeling] Enable peeling for loops with multiple exits.
Tue, Jul 2, 2:59 AM · Restricted Project
skatkov added inline comments to D63923: [Loop Peeling] Enable peeling for loops with multiple exits.
Tue, Jul 2, 12:23 AM · Restricted Project

Mon, Jul 1

skatkov added a child revision for D64060: [LoopInfo] Extend getExitEdges API: D63921: [Loop Peeling] Add support for peeling of loops with multiple exits.
Mon, Jul 1, 11:59 PM
skatkov added a parent revision for D63921: [Loop Peeling] Add support for peeling of loops with multiple exits: D64060: [LoopInfo] Extend getExitEdges API.
Mon, Jul 1, 11:59 PM · Restricted Project
skatkov updated the diff for D63921: [Loop Peeling] Add support for peeling of loops with multiple exits.
Mon, Jul 1, 11:58 PM · Restricted Project
skatkov added inline comments to D63921: [Loop Peeling] Add support for peeling of loops with multiple exits.
Mon, Jul 1, 10:00 PM · Restricted Project