Page MenuHomePhabricator

mkazantsev (Max Kazantsev)
User

Projects

User does not belong to any projects.

User Details

User Since
Jan 23 2017, 8:11 PM (103 w, 5 d)

Recent Activity

Fri, Jan 18

mkazantsev updated the diff for D35989: [SCEV][NFC] Introduces expression sizes estimation.

Addressed comments, added a unit test to make sure that the computation works as intended.

Fri, Jan 18, 1:53 AM
mkazantsev added inline comments to D35989: [SCEV][NFC] Introduces expression sizes estimation.
Fri, Jan 18, 1:53 AM

Thu, Jan 17

mkazantsev committed rL351520: Re-enable terminator folding in LoopSimplifyCFG: underlying bugs fixed.
Re-enable terminator folding in LoopSimplifyCFG: underlying bugs fixed
Thu, Jan 17, 9:01 PM
mkazantsev committed rL351434: [LoopSimplifyCFG] Form LCSSA when a parent loop becomes a sibling.
[LoopSimplifyCFG] Form LCSSA when a parent loop becomes a sibling
Thu, Jan 17, 4:56 AM
mkazantsev closed D56144: [LoopSimplifyCFG] Form LCSSA when a parent loop becomes a sibling.
Thu, Jan 17, 4:56 AM
mkazantsev committed rL351433: [LoopSimplifyCFG] Fix order of deletion of complex dead subloops.
[LoopSimplifyCFG] Fix order of deletion of complex dead subloops
Thu, Jan 17, 4:30 AM
mkazantsev closed D56121: [LoopSimplifyCFG] Fix order of deletion of complex dead subloops.
Thu, Jan 17, 4:30 AM
mkazantsev created D56837: [WIP][IRCE] Support narrow latch condition for wide range checks.
Thu, Jan 17, 2:42 AM

Wed, Jan 16

mkazantsev committed rL351416: [NFC] Factor out some local vars.
[NFC] Factor out some local vars
Wed, Jan 16, 10:24 PM

Tue, Jan 15

mkazantsev updated the diff for D56144: [LoopSimplifyCFG] Form LCSSA when a parent loop becomes a sibling.

Re-uploaded with context.

Tue, Jan 15, 9:21 PM
mkazantsev committed rL351185: [NFC] Remove some code duplication.
[NFC] Remove some code duplication
Tue, Jan 15, 3:20 AM
mkazantsev committed rL351183: [NFC] Remove obsolete enum RangeCheckKind.
[NFC] Remove obsolete enum RangeCheckKind
Tue, Jan 15, 2:52 AM
mkazantsev committed rL351180: [NFC] Decrease if nest.
[NFC] Decrease if nest
Tue, Jan 15, 2:06 AM
mkazantsev committed rL351179: [NFC] Move some functions to LoopUtils.
[NFC] Move some functions to LoopUtils
Tue, Jan 15, 1:55 AM

Mon, Jan 14

mkazantsev updated the diff for D35990: [SCEV] Prohibit SCEV transformations for huge SCEVs.

Updated test to preserve current behavior (it creates *really* big SCEVs in test_05).

Mon, Jan 14, 10:56 PM
mkazantsev updated the diff for D35989: [SCEV][NFC] Introduces expression sizes estimation.

Rebase & reclaim to fix PR40292.

Mon, Jan 14, 10:30 PM
mkazantsev reclaimed D35990: [SCEV] Prohibit SCEV transformations for huge SCEVs.

We need it to fix PR40292. Reclaiming.

Mon, Jan 14, 10:30 PM
mkazantsev committed rL351045: [BasicBlockUtils] Generalize DeleteDeadBlock to deal with multiple dead blocks.
[BasicBlockUtils] Generalize DeleteDeadBlock to deal with multiple dead blocks
Mon, Jan 14, 2:30 AM
mkazantsev closed D56120: [BasicBlockUtils] Generalize DeleteDeadBlock to deal with multiple dead blocks.
Mon, Jan 14, 2:30 AM

Sun, Jan 13

mkazantsev added a reviewer for D56121: [LoopSimplifyCFG] Fix order of deletion of complex dead subloops: asbirlea.
Sun, Jan 13, 8:31 PM

Thu, Jan 10

mkazantsev added inline comments to D56449: [UnrollRuntime] Support multi-exiting blocks to LatchExit.
Thu, Jan 10, 9:40 PM

Tue, Jan 8

mkazantsev committed rL350694: [IPT] Drop cache less eagerly in GVN and LoopSafetyInfo.
[IPT] Drop cache less eagerly in GVN and LoopSafetyInfo
Tue, Jan 8, 11:32 PM
mkazantsev closed D54462: [IPT] Drop cache less eagerly in GVN and LoopSafetyInfo.
Tue, Jan 8, 11:32 PM

Fri, Dec 28

mkazantsev updated the summary of D56144: [LoopSimplifyCFG] Form LCSSA when a parent loop becomes a sibling.
Fri, Dec 28, 9:15 PM
mkazantsev created D56144: [LoopSimplifyCFG] Form LCSSA when a parent loop becomes a sibling.
Fri, Dec 28, 9:14 PM
mkazantsev committed rL350145: Drop SE cache early because loop parent can change in LoopSimplifyCFG.
Drop SE cache early because loop parent can change in LoopSimplifyCFG
Fri, Dec 28, 8:29 PM
mkazantsev committed rL350119: [NFC] Add failing test on LCSSA form preservation of LoopSimplifyCFG.
[NFC] Add failing test on LCSSA form preservation of LoopSimplifyCFG
Fri, Dec 28, 2:47 AM

Thu, Dec 27

mkazantsev added a child revision for D56120: [BasicBlockUtils] Generalize DeleteDeadBlock to deal with multiple dead blocks: D56121: [LoopSimplifyCFG] Fix order of deletion of complex dead subloops.
Thu, Dec 27, 11:52 PM
mkazantsev added a parent revision for D56121: [LoopSimplifyCFG] Fix order of deletion of complex dead subloops: D56120: [BasicBlockUtils] Generalize DeleteDeadBlock to deal with multiple dead blocks.
Thu, Dec 27, 11:52 PM
mkazantsev created D56121: [LoopSimplifyCFG] Fix order of deletion of complex dead subloops.
Thu, Dec 27, 11:51 PM
mkazantsev updated the summary of D56120: [BasicBlockUtils] Generalize DeleteDeadBlock to deal with multiple dead blocks.
Thu, Dec 27, 11:45 PM
mkazantsev created D56120: [BasicBlockUtils] Generalize DeleteDeadBlock to deal with multiple dead blocks.
Thu, Dec 27, 11:43 PM
mkazantsev committed rL350117: Temporarily disable term folding in LoopSimplifyCFG, add tests.
Temporarily disable term folding in LoopSimplifyCFG, add tests
Thu, Dec 27, 10:26 PM
mkazantsev committed rL350116: [LoopSimplifyCFG] Delete dead blocks in RPO.
[LoopSimplifyCFG] Delete dead blocks in RPO
Thu, Dec 27, 10:14 PM
mkazantsev updated the summary of D56096: Default lowering for experimental.widenable.condition.
Thu, Dec 27, 1:33 AM
mkazantsev created D56096: Default lowering for experimental.widenable.condition.
Thu, Dec 27, 1:33 AM

Wed, Dec 26

mkazantsev updated the diff for D56081: [LoopPredication] Support explicit guards.
Wed, Dec 26, 2:52 AM
mkazantsev added a parent revision for D56081: [LoopPredication] Support explicit guards: D56074: [NFC] Add detector function for explicitly expressed guards.
Wed, Dec 26, 2:49 AM
mkazantsev added a child revision for D56074: [NFC] Add detector function for explicitly expressed guards: D56081: [LoopPredication] Support explicit guards.
Wed, Dec 26, 2:49 AM
mkazantsev created D56081: [LoopPredication] Support explicit guards.
Wed, Dec 26, 2:49 AM
mkazantsev committed rL350064: [NFC] Use utility function for guards detection.
[NFC] Use utility function for guards detection
Wed, Dec 26, 12:27 AM

Tue, Dec 25

mkazantsev updated the diff for D56075: [GuardWidening] Support widening of explicitly expressed guards.

Updated tests.

Tue, Dec 25, 11:00 PM
mkazantsev updated the diff for D56079: Fix invalid test in Guard Widening.
Tue, Dec 25, 10:51 PM
mkazantsev updated the summary of D56079: Fix invalid test in Guard Widening.
Tue, Dec 25, 10:51 PM
mkazantsev planned changes to D56079: Fix invalid test in Guard Widening.
Tue, Dec 25, 10:44 PM
mkazantsev added inline comments to D56075: [GuardWidening] Support widening of explicitly expressed guards.
Tue, Dec 25, 10:28 PM
mkazantsev created D56079: Fix invalid test in Guard Widening.
Tue, Dec 25, 10:08 PM
mkazantsev added inline comments to D56075: [GuardWidening] Support widening of explicitly expressed guards.
Tue, Dec 25, 10:03 PM
mkazantsev added inline comments to D56075: [GuardWidening] Support widening of explicitly expressed guards.
Tue, Dec 25, 9:40 PM
mkazantsev added a comment to D54462: [IPT] Drop cache less eagerly in GVN and LoopSafetyInfo.

Ping?

Tue, Dec 25, 2:54 AM
mkazantsev added a parent revision for D56075: [GuardWidening] Support widening of explicitly expressed guards: D56074: [NFC] Add detector function for explicitly expressed guards.
Tue, Dec 25, 2:44 AM
mkazantsev created D56075: [GuardWidening] Support widening of explicitly expressed guards.
Tue, Dec 25, 2:44 AM
mkazantsev added a child revision for D56074: [NFC] Add detector function for explicitly expressed guards: D56075: [GuardWidening] Support widening of explicitly expressed guards.
Tue, Dec 25, 2:44 AM
mkazantsev created D56074: [NFC] Add detector function for explicitly expressed guards.
Tue, Dec 25, 2:40 AM

Mon, Dec 24

mkazantsev committed rL350062: [NFC] Reuse variables instead of re-calling getParent.
[NFC] Reuse variables instead of re-calling getParent
Mon, Dec 24, 11:23 PM
mkazantsev accepted D55266: [LICM] Use per-block hoist points when rehoisting instructions.

LGTM

Mon, Dec 24, 1:01 PM
mkazantsev added a reverting change for rL350048: DebugInfo: Use assembly label arithmetic for address pool size for easier…: rL350052: Revert rL350048 and rL350050.
Mon, Dec 24, 2:33 AM
mkazantsev committed rL350052: Revert rL350048 and rL350050.
Revert rL350048 and rL350050
Mon, Dec 24, 2:33 AM
mkazantsev added a reverting change for rL350050: Fix build - follow-up to r350048 which broke headerless (v4) address pool: rL350052: Revert rL350048 and rL350050.
Mon, Dec 24, 2:33 AM
mkazantsev updated the diff for D54750: [LoopSimplifyCFG] Support blocks that are live, but no longer a part of current loop.

Rebased, ready for review since underlying patches are now merged.

Mon, Dec 24, 1:41 AM

Sun, Dec 23

mkazantsev committed rL350049: [LoopSimplifyCFG] Delete dead exiting edges.
[LoopSimplifyCFG] Delete dead exiting edges
Sun, Dec 23, 11:45 PM
mkazantsev closed D54025: [LoopSimplifyCFG] Delete dead exiting edges.
Sun, Dec 23, 11:45 PM
mkazantsev committed rL350045: Return "[LoopSimplifyCFG] Delete dead in-loop blocks".
Return "[LoopSimplifyCFG] Delete dead in-loop blocks"
Sun, Dec 23, 10:10 PM
mkazantsev closed D54023: [LoopSimplifyCFG] Delete dead in-loop blocks.
Sun, Dec 23, 10:09 PM

Dec 7 2018

mkazantsev committed rL348593: Introduce llvm.experimental.widenable_condition intrinsic.
Introduce llvm.experimental.widenable_condition intrinsic
Dec 7 2018, 6:43 AM
mkazantsev closed D51207: Introduce llvm.experimental.widenable_condition intrinsic.
Dec 7 2018, 6:42 AM

Dec 6 2018

mkazantsev committed rL348567: [LoopSimplifyCFG] Do not deal with loops with irreducible CFG inside.
[LoopSimplifyCFG] Do not deal with loops with irreducible CFG inside
Dec 6 2018, 9:48 PM
mkazantsev closed D55357: [LoopSimplifyCFG] Do not deal with loops with irreducible CFG inside.
Dec 6 2018, 9:48 PM
mkazantsev added a child revision for D55357: [LoopSimplifyCFG] Do not deal with loops with irreducible CFG inside: D54023: [LoopSimplifyCFG] Delete dead in-loop blocks.
Dec 6 2018, 9:07 PM
mkazantsev added a parent revision for D54023: [LoopSimplifyCFG] Delete dead in-loop blocks: D55357: [LoopSimplifyCFG] Do not deal with loops with irreducible CFG inside.
Dec 6 2018, 9:07 PM
mkazantsev reopened D54023: [LoopSimplifyCFG] Delete dead in-loop blocks.

Patch has been reverted, likely because it triggered a bug fixed by D55357 (underlying bug, not directly connected to this patch). Waiting for confirmation, if so, I will recommit it after the fix is merged.

Dec 6 2018, 9:07 PM
mkazantsev updated the diff for D55357: [LoopSimplifyCFG] Do not deal with loops with irreducible CFG inside.

Typo/comment fix.

Dec 6 2018, 8:50 PM
mkazantsev added inline comments to D55357: [LoopSimplifyCFG] Do not deal with loops with irreducible CFG inside.
Dec 6 2018, 8:41 PM
mkazantsev added a reviewer for D55357: [LoopSimplifyCFG] Do not deal with loops with irreducible CFG inside: skatkov.
Dec 6 2018, 8:40 PM
mkazantsev requested review of D54025: [LoopSimplifyCFG] Delete dead exiting edges.

Underlying patch merged, opening for review.

Dec 6 2018, 2:11 AM
mkazantsev created D55357: [LoopSimplifyCFG] Do not deal with loops with irreducible CFG inside.
Dec 6 2018, 1:51 AM

Dec 5 2018

mkazantsev committed rL348457: [LoopSimplifyCFG] Delete dead in-loop blocks.
[LoopSimplifyCFG] Delete dead in-loop blocks
Dec 5 2018, 9:48 PM
mkazantsev closed D54023: [LoopSimplifyCFG] Delete dead in-loop blocks.
Dec 5 2018, 9:48 PM

Dec 4 2018

mkazantsev updated the diff for D54023: [LoopSimplifyCFG] Delete dead in-loop blocks.

Added asserts that we do not delete current loop and its header while dealing with dead blocks.

Dec 4 2018, 9:34 PM
mkazantsev committed rL348333: [NFC] Verify memoryssa in test for PR39783.
[NFC] Verify memoryssa in test for PR39783
Dec 4 2018, 9:23 PM
mkazantsev added a comment to D54023: [LoopSimplifyCFG] Delete dead in-loop blocks.

There is already a mode with memorySSA being constructed and verified in constant-fold-branch.ll:

; RUN: opt -S -enable-loop-simplifycfg-term-folding=true -loop-simplifycfg -enable-mssa-loop-dependency=true -verify-memoryssa -debug-only=loop-simplifycfg -verify-loop-info -verify-dom-info -verify-loop-lcssa 2>&1 < %s | FileCheck %s
Dec 4 2018, 9:17 PM
mkazantsev added inline comments to D55232: [SCEV] Suppress hoisting insertion point of binops when unsafe.
Dec 4 2018, 7:57 PM
mkazantsev added a comment to D55266: [LICM] Use per-block hoist points when rehoisting instructions.

The entire algorithm looks non-deterministic and depends on traversal order of uses. I suggest making it deterministic (I think my comment inline should help).

Dec 4 2018, 7:52 PM
mkazantsev added inline comments to D55266: [LICM] Use per-block hoist points when rehoisting instructions.
Dec 4 2018, 7:51 PM
mkazantsev added a comment to D51207: Introduce llvm.experimental.widenable_condition intrinsic.

Ping?

Dec 4 2018, 7:01 PM

Nov 30 2018

mkazantsev updated the diff for D54023: [LoopSimplifyCFG] Delete dead in-loop blocks.

Rebased, added removal of blocks from MSSA.

Nov 30 2018, 3:57 AM
mkazantsev committed rL347979: [LoopSimplifyCFG] Update MemorySSA in terminator folding. PR39783.
[LoopSimplifyCFG] Update MemorySSA in terminator folding. PR39783
Nov 30 2018, 2:09 AM
mkazantsev closed D55050: [LoopSimplifyCFG] Update MemorySSA in terminator folding. PR39783.
Nov 30 2018, 2:09 AM
mkazantsev updated the diff for D55050: [LoopSimplifyCFG] Update MemorySSA in terminator folding. PR39783.

Rebased on top of simplified tests.

Nov 30 2018, 1:58 AM
mkazantsev committed rL347976: [NFC] Simplify and reduce tests for PR39783.
[NFC] Simplify and reduce tests for PR39783
Nov 30 2018, 1:54 AM
mkazantsev added a comment to D55050: [LoopSimplifyCFG] Update MemorySSA in terminator folding. PR39783.

Uh, actually I can. I will update the tests and rebase on top.

Nov 30 2018, 1:38 AM
mkazantsev added a comment to D55050: [LoopSimplifyCFG] Update MemorySSA in terminator folding. PR39783.

Thanks Alina!

Nov 30 2018, 1:03 AM

Nov 29 2018

mkazantsev added a comment to D51207: Introduce llvm.experimental.widenable_condition intrinsic.

One of the alternatives naming schemes which was discussed is to call this intrinsic should_deoptimize. In this case the meaning of the returned value is inverted, so we need to or it with the condition which we want to widen.

Current definition in LangRef gives it much wider use cases than this. The point is, we have no obligation to *only* use this intrinsic in and condition with deopt in one of branches. For example, this usage is legit:

Nov 29 2018, 7:46 PM
mkazantsev added reviewers for D55050: [LoopSimplifyCFG] Update MemorySSA in terminator folding. PR39783: asbirlea, greened.
Nov 29 2018, 7:35 PM
mkazantsev added a comment to D54023: [LoopSimplifyCFG] Delete dead in-loop blocks.

It will need a MemorySSA update when we delete blocks.

Nov 29 2018, 1:54 AM
mkazantsev added a child revision for D55050: [LoopSimplifyCFG] Update MemorySSA in terminator folding. PR39783: D54023: [LoopSimplifyCFG] Delete dead in-loop blocks.
Nov 29 2018, 1:53 AM
mkazantsev added a parent revision for D54023: [LoopSimplifyCFG] Delete dead in-loop blocks: D55050: [LoopSimplifyCFG] Update MemorySSA in terminator folding. PR39783.
Nov 29 2018, 1:53 AM
mkazantsev created D55050: [LoopSimplifyCFG] Update MemorySSA in terminator folding. PR39783.
Nov 29 2018, 1:51 AM
mkazantsev committed rL347845: [NFC] Add two XFAIL tests from PR39783.
[NFC] Add two XFAIL tests from PR39783
Nov 29 2018, 1:41 AM
mkazantsev planned changes to D54831: [LoopSimplifyCFG] Delete current loop.
Nov 29 2018, 1:11 AM