mkazantsev (Max Kazantsev)
User

Projects

User does not belong to any projects.

User Details

User Since
Jan 23 2017, 8:11 PM (51 w, 1 d)

Recent Activity

Yesterday

mkazantsev added a comment to D41939: [LV] Fix incorrect detection of type-promoted Phis.

Ping

Tue, Jan 16, 8:26 PM

Sun, Jan 14

mkazantsev committed rL322468: [NFC] Fix comment to adjust to reality.
[NFC] Fix comment to adjust to reality
Sun, Jan 14, 9:46 PM

Fri, Jan 12

mkazantsev updated the diff for D36215: [IRCE] Return "Identify loops with latch comparison against current IV value".

Rebased

Fri, Jan 12, 2:33 AM
mkazantsev committed rL322364: [IRCE][NFC] Make range check's End a non-null SCEV.
[IRCE][NFC] Make range check's End a non-null SCEV
Fri, Jan 12, 2:04 AM
mkazantsev closed D39590: [IRCE][NFC] Make range check's End a non-null SCEV.
Fri, Jan 12, 2:04 AM

Thu, Jan 11

mkazantsev updated the diff for D39590: [IRCE][NFC] Make range check's End a non-null SCEV.

Rebased.

Thu, Jan 11, 11:00 PM
mkazantsev updated the diff for D41939: [LV] Fix incorrect detection of type-promoted Phis.
Thu, Jan 11, 2:41 AM
mkazantsev updated the diff for D41939: [LV] Fix incorrect detection of type-promoted Phis.
Thu, Jan 11, 2:19 AM
mkazantsev updated the diff for D41939: [LV] Fix incorrect detection of type-promoted Phis.
Thu, Jan 11, 2:12 AM
mkazantsev updated the diff for D41939: [LV] Fix incorrect detection of type-promoted Phis.

Added a comment, fixed some typos.

Thu, Jan 11, 2:08 AM
mkazantsev updated the diff for D41939: [LV] Fix incorrect detection of type-promoted Phis.
Thu, Jan 11, 1:58 AM
mkazantsev created D41939: [LV] Fix incorrect detection of type-promoted Phis.
Thu, Jan 11, 1:55 AM

Sun, Jan 7

mkazantsev planned changes to D36215: [IRCE] Return "Identify loops with latch comparison against current IV value".

Needs to be ported on top of current code base.

Sun, Jan 7, 5:58 PM

Fri, Dec 29

mkazantsev committed rL321550: [SCEV] Missing depth propagation in recursive call.
[SCEV] Missing depth propagation in recursive call
Fri, Dec 29, 12:45 AM

Thu, Dec 28

mkazantsev committed rL321517: [RewriteStatepoints] Fix incorrect assertion.
[RewriteStatepoints] Fix incorrect assertion
Thu, Dec 28, 4:04 AM
mkazantsev closed D41593: [RewriteStatepoints] Fix incorrect assertion.
Thu, Dec 28, 4:04 AM

Wed, Dec 27

mkazantsev updated the diff for D41593: [RewriteStatepoints] Fix incorrect assertion.

Simplified test slightly.

Wed, Dec 27, 4:20 AM
mkazantsev created D41593: [RewriteStatepoints] Fix incorrect assertion.
Wed, Dec 27, 4:09 AM

Tue, Dec 26

mkazantsev added a comment to D40718: [LSR] Complexity tradeoff in GenerateReassociationsImpl.

The other way is limiting SCEV transformation not by depth only, but also by the size of operands list, if it makes sense.

Tue, Dec 26, 10:04 PM

Mon, Dec 25

mkazantsev committed rL321438: [SafepointIRVerifier] Allow non-dereferencing uses of unrelocated or poisoned….
[SafepointIRVerifier] Allow non-dereferencing uses of unrelocated or poisoned…
Mon, Dec 25, 1:36 AM
mkazantsev closed D41006: [SafepointIRVerifier] Allow non-dereferencing uses of unrelocated or poisoned PHI nodes.
Mon, Dec 25, 1:36 AM

Sun, Dec 24

mkazantsev added a comment to D40718: [LSR] Complexity tradeoff in GenerateReassociationsImpl.

Ping

Sun, Dec 24, 9:38 PM

Tue, Dec 19

mkazantsev added a comment to D41380: [SCEV] Do not insert if it is already in cache.

Do you mind giving the blocks in test some reasonable names? E.g. outer_loop, inner_loop etc, just to make it clear what is going on.

Tue, Dec 19, 3:28 AM
mkazantsev committed rL321063: [JumpThreading] Restrict PRE across instructions that don't pass control to….
[JumpThreading] Restrict PRE across instructions that don't pass control to…
Tue, Dec 19, 1:11 AM
mkazantsev closed D40347: [JumpThreading] Restrict PRE across instructions that don't pass control to successors.
Tue, Dec 19, 1:11 AM
mkazantsev added a comment to D40347: [JumpThreading] Restrict PRE across instructions that don't pass control to successors.

Comments addressed in merged patch (comment fixed & tests added).

Tue, Dec 19, 1:10 AM
mkazantsev added a comment to D40347: [JumpThreading] Restrict PRE across instructions that don't pass control to successors.

Thanks! I will add more test cases in follow-up NFC.

Tue, Dec 19, 12:28 AM

Dec 18 2017

mkazantsev committed rL320983: [LVI] Support for ashr in LVI.
[LVI] Support for ashr in LVI
Dec 18 2017, 6:24 AM
mkazantsev closed D40886: [LVI] Support for ashr in LVI.
Dec 18 2017, 6:24 AM
mkazantsev committed rL320976: [ConstantRange] Support for ashr in ConstantRange computation.
[ConstantRange] Support for ashr in ConstantRange computation
Dec 18 2017, 5:02 AM
mkazantsev closed D40881: [ConstantRange] Support for ashr in ConstantRange computation.
Dec 18 2017, 5:02 AM

Dec 17 2017

mkazantsev added a comment to D40347: [JumpThreading] Restrict PRE across instructions that don't pass control to successors.

Guys, can anyone take a look? This is a fix for a miscompile which leads to functional bug.

Dec 17 2017, 9:33 PM

Dec 15 2017

mkazantsev added inline comments to D41006: [SafepointIRVerifier] Allow non-dereferencing uses of unrelocated or poisoned PHI nodes.
Dec 15 2017, 1:12 PM

Dec 11 2017

mkazantsev added inline comments to D41006: [SafepointIRVerifier] Allow non-dereferencing uses of unrelocated or poisoned PHI nodes.
Dec 11 2017, 4:03 PM

Dec 9 2017

mkazantsev accepted D40881: [ConstantRange] Support for ashr in ConstantRange computation.

LGTM

Dec 9 2017, 1:56 AM
mkazantsev added inline comments to D41006: [SafepointIRVerifier] Allow non-dereferencing uses of unrelocated or poisoned PHI nodes.
Dec 9 2017, 1:36 AM
mkazantsev accepted D40885: [NFC] Refactor SafepointIRVerifier.

LGTM

Dec 9 2017, 1:00 AM

Dec 8 2017

mkazantsev committed rL320144: [NFC] Rename variable from Cond to Pred to make it more sound.
[NFC] Rename variable from Cond to Pred to make it more sound
Dec 8 2017, 4:55 AM
mkazantsev committed rL320142: [SCEV] Fix predicate usage in computeExitLimitFromICmp.
[SCEV] Fix predicate usage in computeExitLimitFromICmp
Dec 8 2017, 4:20 AM
mkazantsev closed D40953: [SCEV] Fix predicate usage in computeExitLimitFromICmp by committing rL320142: [SCEV] Fix predicate usage in computeExitLimitFromICmp.
Dec 8 2017, 4:20 AM
mkazantsev added inline comments to D40953: [SCEV] Fix predicate usage in computeExitLimitFromICmp.
Dec 8 2017, 1:33 AM

Dec 7 2017

mkazantsev added inline comments to D40885: [NFC] Refactor SafepointIRVerifier.
Dec 7 2017, 10:17 AM
mkazantsev added inline comments to D40881: [ConstantRange] Support for ashr in ConstantRange computation.
Dec 7 2017, 9:55 AM
mkazantsev created D40953: [SCEV] Fix predicate usage in computeExitLimitFromICmp.
Dec 7 2017, 6:34 AM

Dec 6 2017

mkazantsev committed rL319889: [SCEV][NFC] Check NoWrap flags before lexicographical comparison of SCEVs.
[SCEV][NFC] Check NoWrap flags before lexicographical comparison of SCEVs
Dec 6 2017, 4:45 AM
mkazantsev closed D40645: [SCEV][NFC] Check NoWrap flags before lexicographical comparison of SCEVs by committing rL319889: [SCEV][NFC] Check NoWrap flags before lexicographical comparison of SCEVs.
Dec 6 2017, 4:45 AM
mkazantsev committed rL319880: [SCEV][NFC] Share value cache between SCEVs in GroupByComplexity.
[SCEV][NFC] Share value cache between SCEVs in GroupByComplexity
Dec 6 2017, 12:59 AM
mkazantsev closed D40597: [SCEV][NFC] Share value cache between SCEVs in GroupByComplexity by committing rL319880: [SCEV][NFC] Share value cache between SCEVs in GroupByComplexity.
Dec 6 2017, 12:58 AM

Dec 5 2017

mkazantsev planned changes to D40293: [NFC] Factor out implicit control flow logic from GVN.

Need to rebase on top of latest changes in GVN.

Dec 5 2017, 6:20 AM

Dec 4 2017

mkazantsev accepted D40289: [SafepointIRVerifier] Allow deriving pointers from unrelocated base.
Dec 4 2017, 1:57 AM

Dec 1 2017

mkazantsev created D40718: [LSR] Complexity tradeoff in GenerateReassociationsImpl.
Dec 1 2017, 5:49 AM

Nov 30 2017

mkazantsev updated the summary of D40645: [SCEV][NFC] Check NoWrap flags before lexicographical comparison of SCEVs.
Nov 30 2017, 4:20 AM
mkazantsev created D40645: [SCEV][NFC] Check NoWrap flags before lexicographical comparison of SCEVs.
Nov 30 2017, 4:15 AM
mkazantsev added a comment to D40289: [SafepointIRVerifier] Allow deriving pointers from unrelocated base.

Looks fine for me, but I'd like someone else to take a look to verify that the logic is ok.

Nov 30 2017, 1:14 AM
mkazantsev added inline comments to D40289: [SafepointIRVerifier] Allow deriving pointers from unrelocated base.
Nov 30 2017, 12:23 AM
mkazantsev added inline comments to D40289: [SafepointIRVerifier] Allow deriving pointers from unrelocated base.
Nov 30 2017, 12:22 AM

Nov 29 2017

mkazantsev added inline comments to D40289: [SafepointIRVerifier] Allow deriving pointers from unrelocated base.
Nov 29 2017, 10:17 PM
mkazantsev created D40597: [SCEV][NFC] Share value cache between SCEVs in GroupByComplexity.
Nov 29 2017, 4:13 AM
mkazantsev committed rL319306: [SCEV][NFC] Break from loop after we found first non-Phi in….
[SCEV][NFC] Break from loop after we found first non-Phi in…
Nov 29 2017, 2:54 AM

Nov 28 2017

mkazantsev committed rL319293: [SCEV][NFC] Remove condition that can never happen due to check few lines above.
[SCEV][NFC] Remove condition that can never happen due to check few lines above
Nov 28 2017, 10:11 PM
mkazantsev added a comment to D40347: [JumpThreading] Restrict PRE across instructions that don't pass control to successors.

Ping.

Nov 28 2017, 9:24 PM
mkazantsev committed rL319153: [SCEV][NFC] More efficient caching in CompareValueComplexity.
[SCEV][NFC] More efficient caching in CompareValueComplexity
Nov 28 2017, 12:27 AM
mkazantsev closed D40429: [SCEV][NFC] More efficient caching in CompareValueComplexity by committing rL319153: [SCEV][NFC] More efficient caching in CompareValueComplexity.
Nov 28 2017, 12:27 AM

Nov 27 2017

mkazantsev committed rL319149: [SCEV][NFC] More efficient caching in CompareSCEVComplexity.
[SCEV][NFC] More efficient caching in CompareSCEVComplexity
Nov 27 2017, 11:48 PM
mkazantsev closed D40428: [SCEV][NFC] More efficient caching in CompareSCEVComplexity by committing rL319149: [SCEV][NFC] More efficient caching in CompareSCEVComplexity.
Nov 27 2017, 11:48 PM
mkazantsev committed rL319147: [GVN] Prevent ScalarPRE from hoisting across instructions that don't pass….
[GVN] Prevent ScalarPRE from hoisting across instructions that don't pass…
Nov 27 2017, 11:08 PM
mkazantsev closed D38619: [GVN] Prevent ScalarPRE from hoisting across instructions that don't pass control flow to successors by committing rL319147: [GVN] Prevent ScalarPRE from hoisting across instructions that don't pass….
Nov 27 2017, 11:08 PM
mkazantsev updated the diff for D40429: [SCEV][NFC] More efficient caching in CompareValueComplexity.

Reused EquivalenceClasses which is the default implementation of DSU in LLVM instead of the custom one.

Nov 27 2017, 3:42 AM
mkazantsev added a comment to D40428: [SCEV][NFC] More efficient caching in CompareSCEVComplexity.

I've replaced the caching structure with EquivalenceClasses which is existing implementation of DSU in LLVM (the logic remains the same).

Nov 27 2017, 3:34 AM
mkazantsev removed a dependency for D40428: [SCEV][NFC] More efficient caching in CompareSCEVComplexity: D40427: [ADT] Introduce Disjoint Set Union structure.
Nov 27 2017, 3:34 AM
mkazantsev removed a dependent revision for D40427: [ADT] Introduce Disjoint Set Union structure: D40428: [SCEV][NFC] More efficient caching in CompareSCEVComplexity.
Nov 27 2017, 3:34 AM
mkazantsev updated the diff for D40428: [SCEV][NFC] More efficient caching in CompareSCEVComplexity.
Nov 27 2017, 3:32 AM
mkazantsev abandoned D40427: [ADT] Introduce Disjoint Set Union structure.

It seems that EquivalenceClasses does exactly what we need. Surprisingly, it didn't have unit tests so I've commited them as rL319018. I abandon this patch and will rewrite dependent patches so that they use EquivalenceClasses.

Nov 27 2017, 3:28 AM
mkazantsev committed rL319018: [NFC] Add missing unit tests for EquivalenceClasses.
[NFC] Add missing unit tests for EquivalenceClasses
Nov 27 2017, 3:22 AM
mkazantsev added a comment to D40427: [ADT] Introduce Disjoint Set Union structure.

I didn't know it that EquivalenceClasses already does it. After looking into the code I can agree that it's pretty much the same thing done there. I guess it's easier to add ranking heuristic in there than to duplicate this piece of logic.

Nov 27 2017, 1:10 AM
mkazantsev accepted D40353: [Loop Predication] Teach LP about reverse loops.

LGTM with test with %lowerlimit = 0 added.

Nov 27 2017, 12:38 AM
mkazantsev accepted D39361: [SCEV] A different fix for PR33494.

Ok. LGTM.

Nov 27 2017, 12:00 AM

Nov 26 2017

mkazantsev added inline comments to D40427: [ADT] Introduce Disjoint Set Union structure.
Nov 26 2017, 9:35 PM
mkazantsev added inline comments to D40427: [ADT] Introduce Disjoint Set Union structure.
Nov 26 2017, 8:57 PM
mkazantsev added inline comments to D40427: [ADT] Introduce Disjoint Set Union structure.
Nov 26 2017, 8:50 PM

Nov 24 2017

mkazantsev added a dependent revision for D40428: [SCEV][NFC] More efficient caching in CompareSCEVComplexity: D40429: [SCEV][NFC] More efficient caching in CompareValueComplexity.
Nov 24 2017, 4:56 AM
mkazantsev created D40429: [SCEV][NFC] More efficient caching in CompareValueComplexity.
Nov 24 2017, 4:56 AM
mkazantsev added a dependency for D40429: [SCEV][NFC] More efficient caching in CompareValueComplexity: D40428: [SCEV][NFC] More efficient caching in CompareSCEVComplexity.
Nov 24 2017, 4:56 AM
mkazantsev updated the summary of D40428: [SCEV][NFC] More efficient caching in CompareSCEVComplexity.
Nov 24 2017, 4:52 AM
mkazantsev added a reviewer for D40427: [ADT] Introduce Disjoint Set Union structure: anna.
Nov 24 2017, 4:49 AM
mkazantsev added a dependency for D40428: [SCEV][NFC] More efficient caching in CompareSCEVComplexity: D40427: [ADT] Introduce Disjoint Set Union structure.
Nov 24 2017, 4:49 AM
mkazantsev added a dependent revision for D40427: [ADT] Introduce Disjoint Set Union structure: D40428: [SCEV][NFC] More efficient caching in CompareSCEVComplexity.
Nov 24 2017, 4:49 AM
mkazantsev created D40428: [SCEV][NFC] More efficient caching in CompareSCEVComplexity.
Nov 24 2017, 4:48 AM
mkazantsev created D40427: [ADT] Introduce Disjoint Set Union structure.
Nov 24 2017, 4:41 AM

Nov 23 2017

mkazantsev added a comment to D38619: [GVN] Prevent ScalarPRE from hoisting across instructions that don't pass control flow to successors.

@efriedma , can I have it landed? :)

Nov 23 2017, 11:43 PM

Nov 22 2017

mkazantsev committed rL318898: [IRCE][NFC] Add no wrap flags to no-wrapping SCEV calculation.
[IRCE][NFC] Add no wrap flags to no-wrapping SCEV calculation
Nov 22 2017, 10:15 PM
mkazantsev closed D40168: [IRCE][NFC] Add no wrap flags to no-wrapping SCEV calculation by committing rL318898: [IRCE][NFC] Add no wrap flags to no-wrapping SCEV calculation.
Nov 22 2017, 10:15 PM
mkazantsev created D40347: [JumpThreading] Restrict PRE across instructions that don't pass control to successors.
Nov 22 2017, 4:47 AM
mkazantsev added a comment to D40289: [SafepointIRVerifier] Allow deriving pointers from unrelocated base.

Looks fine for me, but I'd likeone else to take a look.

Nov 22 2017, 4:24 AM

Nov 21 2017

mkazantsev updated the summary of D40168: [IRCE][NFC] Add no wrap flags to no-wrapping SCEV calculation.
Nov 21 2017, 10:24 PM
mkazantsev committed rL318819: [SCEV] Strengthen variance condition in calculateLoopDisposition.
[SCEV] Strengthen variance condition in calculateLoopDisposition
Nov 21 2017, 10:22 PM
mkazantsev closed D39453: [SCEV] Strengthen variance condition in calculateLoopDisposition by committing rL318819: [SCEV] Strengthen variance condition in calculateLoopDisposition.
Nov 21 2017, 10:22 PM
mkazantsev requested changes to D40289: [SafepointIRVerifier] Allow deriving pointers from unrelocated base.
Nov 21 2017, 9:15 PM
mkazantsev created D40293: [NFC] Factor out implicit control flow logic from GVN.
Nov 21 2017, 3:58 AM

Nov 20 2017

mkazantsev added a comment to D38619: [GVN] Prevent ScalarPRE from hoisting across instructions that don't pass control flow to successors.

Ping

Nov 20 2017, 1:07 AM