Page MenuHomePhabricator

mkazantsev (Max Kazantsev)
User

Projects

User does not belong to any projects.

User Details

User Since
Jan 23 2017, 8:11 PM (191 w, 4 d)

Recent Activity

Yesterday

mkazantsev updated the diff for D88208: [SCEV] Prove implicaitons via AddRec start.

Ruled out "known after loop" case because it is something we do not want to deal with.

Fri, Sep 25, 2:25 AM · Restricted Project

Thu, Sep 24

mkazantsev planned changes to D88208: [SCEV] Prove implicaitons via AddRec start.
Thu, Sep 24, 10:33 PM · Restricted Project
mkazantsev added inline comments to D88208: [SCEV] Prove implicaitons via AddRec start.
Thu, Sep 24, 9:02 PM · Restricted Project
mkazantsev added reviewers for D88210: [IndVars] Use knowledge about execution on last iteration when removing checks: fhahn, lebedev.ri, sanjoy, reames.
Thu, Sep 24, 3:27 AM · Restricted Project
mkazantsev requested review of D88210: [IndVars] Use knowledge about execution on last iteration when removing checks.
Thu, Sep 24, 3:27 AM · Restricted Project
mkazantsev added a reviewer for D88208: [SCEV] Prove implicaitons via AddRec start: sanjoy.
Thu, Sep 24, 3:23 AM · Restricted Project
mkazantsev requested review of D88208: [SCEV] Prove implicaitons via AddRec start.
Thu, Sep 24, 3:23 AM · Restricted Project
mkazantsev abandoned D77725: [LoopLoadElim] Form simplify form by demand.
Thu, Sep 24, 3:01 AM · Restricted Project
mkazantsev abandoned D54831: [LoopSimplifyCFG] Delete current loop.
Thu, Sep 24, 3:00 AM · Restricted Project
mkazantsev abandoned D51616: [ExplicitGuards][NFC] API for explicit guards recognition.
Thu, Sep 24, 2:59 AM
mkazantsev abandoned D46044: [LoopUnrollPeel] Fix potentially incorrect invalidation of SCEV in peelLoop.
Thu, Sep 24, 2:59 AM
mkazantsev abandoned D54750: [LoopSimplifyCFG] Support blocks that are live, but no longer a part of current loop.
Thu, Sep 24, 2:59 AM · Restricted Project
mkazantsev updated the diff for D87832: [IndVars] Remove monotonic checks with unknown exit count.
Thu, Sep 24, 2:56 AM · Restricted Project
mkazantsev abandoned D58500: [DO NOT MERGE] Explore MSSA behavior in LoopSimplifyCFG.
Thu, Sep 24, 12:29 AM · Restricted Project

Wed, Sep 23

mkazantsev abandoned D87833: [SCEV][NFC] Introduce isKnownPredicateAt method.
Wed, Sep 23, 10:40 PM · Restricted Project

Tue, Sep 22

mkazantsev committed rGe2703c021d84: [SCEV] Handle `less` predicates for FoundPred = NE (authored by mkazantsev).
[SCEV] Handle `less` predicates for FoundPred = NE
Tue, Sep 22, 4:57 AM
mkazantsev closed D87890: [SCEV] Handle `less` predicates for FoundPred = NE.
Tue, Sep 22, 4:57 AM · Restricted Project
mkazantsev added a comment to D87890: [SCEV] Handle `less` predicates for FoundPred = NE.

Thanks Florian! One example of where it helps is ULT check in test of D88087 (fails without this patch).

Tue, Sep 22, 4:41 AM · Restricted Project
mkazantsev updated the diff for D88087: [SCEV] Limited support for unsigned preds in isImpliedViaOperations.

Added ULT check showing use of D87890

Tue, Sep 22, 4:40 AM · Restricted Project
mkazantsev added inline comments to D87890: [SCEV] Handle `less` predicates for FoundPred = NE.
Tue, Sep 22, 4:10 AM · Restricted Project
mkazantsev requested review of D88087: [SCEV] Limited support for unsigned preds in isImpliedViaOperations.
Tue, Sep 22, 3:59 AM · Restricted Project
mkazantsev committed rG16fde88dbd79: [SCEV] Support unsigned predicates in isKnownPredicateViaNoOverflow (authored by mkazantsev).
[SCEV] Support unsigned predicates in isKnownPredicateViaNoOverflow
Tue, Sep 22, 3:14 AM
mkazantsev closed D88015: [SCEV] Support unsigned predicates in isKnownPredicateViaNoOverflow.
Tue, Sep 22, 3:14 AM · Restricted Project
mkazantsev updated the diff for D88015: [SCEV] Support unsigned predicates in isKnownPredicateViaNoOverflow.

Reloaded with dedicated unit test to make it independent on underlying patches (the only dependency was test).

Tue, Sep 22, 3:06 AM · Restricted Project
mkazantsev added inline comments to D88015: [SCEV] Support unsigned predicates in isKnownPredicateViaNoOverflow.
Tue, Sep 22, 2:37 AM · Restricted Project
mkazantsev reclaimed D87890: [SCEV] Handle `less` predicates for FoundPred = NE.

It seems that there is no way that SCEV can now both make this query and return true for it. I'm currently building a chain of patch that will fix the query responds. Hopefully with them we will be able to construct a test for it.

Tue, Sep 22, 12:08 AM · Restricted Project

Mon, Sep 21

mkazantsev updated the diff for D87344: [IndVars] Remove exiting conditions that are trivially true/false.

Addressed comments, fixed bug with non-loop true successor, added corresponding test.

Mon, Sep 21, 9:46 PM · Restricted Project
mkazantsev added inline comments to D87344: [IndVars] Remove exiting conditions that are trivially true/false.
Mon, Sep 21, 9:07 PM · Restricted Project
mkazantsev planned changes to D87344: [IndVars] Remove exiting conditions that are trivially true/false.

Internal testing revealed bugs, look weird, investigating.

Mon, Sep 21, 8:57 PM · Restricted Project
mkazantsev requested review of D88015: [SCEV] Support unsigned predicates in isKnownPredicateViaNoOverflow.
Mon, Sep 21, 4:09 AM · Restricted Project
mkazantsev updated the diff for D87832: [IndVars] Remove monotonic checks with unknown exit count.

Moved code to proper place.

Mon, Sep 21, 2:42 AM · Restricted Project
mkazantsev reclaimed D87832: [IndVars] Remove monotonic checks with unknown exit count.
Mon, Sep 21, 2:40 AM · Restricted Project
mkazantsev updated the diff for D87344: [IndVars] Remove exiting conditions that are trivially true/false.

Rebased (no spam in test checks update).

Mon, Sep 21, 2:16 AM · Restricted Project
mkazantsev committed rG98aed8aa00dc: [Test] Test auto-update (authored by mkazantsev).
[Test] Test auto-update
Mon, Sep 21, 2:06 AM
mkazantsev abandoned D87832: [IndVars] Remove monotonic checks with unknown exit count.

Planning to move this code to other place and merge with D87834

Mon, Sep 21, 1:17 AM · Restricted Project
mkazantsev abandoned D87890: [SCEV] Handle `less` predicates for FoundPred = NE.

Actually I'm not sure we need this. I could not construct a test where it would succeed.

Mon, Sep 21, 1:14 AM · Restricted Project

Sun, Sep 20

mkazantsev added inline comments to D87828: [SCEV][NFC] Introduce isBasicBlockEntryGuardedByCond.
Sun, Sep 20, 10:38 PM · Restricted Project
mkazantsev updated the diff for D87828: [SCEV][NFC] Introduce isBasicBlockEntryGuardedByCond.

Fixed comment.

Sun, Sep 20, 10:38 PM · Restricted Project
mkazantsev added a comment to D87890: [SCEV] Handle `less` predicates for FoundPred = NE.

Yes, I will try to construct such test.

Sun, Sep 20, 9:08 PM · Restricted Project
mkazantsev added inline comments to D87828: [SCEV][NFC] Introduce isBasicBlockEntryGuardedByCond.
Sun, Sep 20, 9:05 PM · Restricted Project

Fri, Sep 18

mkazantsev committed rG09a3737384ec: [Test] Missing range check removal opportunity (authored by mkazantsev).
[Test] Missing range check removal opportunity
Fri, Sep 18, 3:56 AM
mkazantsev planned changes to D87834: [IndVars] Give eliminateIVComparisonHelper context info.
Fri, Sep 18, 3:10 AM · Restricted Project
mkazantsev planned changes to D87832: [IndVars] Remove monotonic checks with unknown exit count.
Fri, Sep 18, 3:10 AM · Restricted Project
mkazantsev requested review of D87890: [SCEV] Handle `less` predicates for FoundPred = NE.
Fri, Sep 18, 1:47 AM · Restricted Project

Thu, Sep 17

mkazantsev committed rG7688027f1663: [Test] Add tests showing that IndVars cannot prove (X + 1 > X) (authored by mkazantsev).
[Test] Add tests showing that IndVars cannot prove (X + 1 > X)
Thu, Sep 17, 8:38 AM
mkazantsev requested review of D87834: [IndVars] Give eliminateIVComparisonHelper context info.
Thu, Sep 17, 7:56 AM · Restricted Project
mkazantsev retitled D87833: [SCEV][NFC] Introduce isKnownPredicateAt method from [NFC] Introduce isKnownPredicateAt method to [SCEV][NFC] Introduce isKnownPredicateAt method.
Thu, Sep 17, 7:54 AM · Restricted Project
mkazantsev requested review of D87833: [SCEV][NFC] Introduce isKnownPredicateAt method.
Thu, Sep 17, 7:53 AM · Restricted Project
mkazantsev requested review of D87832: [IndVars] Remove monotonic checks with unknown exit count.
Thu, Sep 17, 7:51 AM · Restricted Project
mkazantsev added a comment to D87344: [IndVars] Remove exiting conditions that are trivially true/false.

Reframing the solution with accordance with @reames 's comment, starting from the most trivial cases and moving towards more complex ones.

Thu, Sep 17, 5:48 AM · Restricted Project
mkazantsev updated the diff for D87344: [IndVars] Remove exiting conditions that are trivially true/false.
Thu, Sep 17, 5:47 AM · Restricted Project
mkazantsev requested review of D87828: [SCEV][NFC] Introduce isBasicBlockEntryGuardedByCond.
Thu, Sep 17, 5:41 AM · Restricted Project
mkazantsev added a comment to D87344: [IndVars] Remove exiting conditions that are trivially true/false.

Thanks for a clue Philip, you are kind of right, but I don't think we can fix exit count computation. Here's the motivating example:

define i32 @test_01(i32* %p) {
entry:
  %len = load i32, i32* %p, align 4, !range !0
  br label %loop
Thu, Sep 17, 2:29 AM · Restricted Project

Wed, Sep 16

mkazantsev committed rG6985135a43b6: [Test] Add positive range checks tests in addition to negative (authored by mkazantsev).
[Test] Add positive range checks tests in addition to negative
Wed, Sep 16, 12:25 AM
mkazantsev committed rG94f7d3dba3c0: [Test] Some more potential range check elimination opportunities (authored by mkazantsev).
[Test] Some more potential range check elimination opportunities
Wed, Sep 16, 12:01 AM

Tue, Sep 15

mkazantsev committed rG8a04cdb510c8: [Test] Add signed version of a test (authored by mkazantsev).
[Test] Add signed version of a test
Tue, Sep 15, 9:31 PM
mkazantsev abandoned D78804: [LICM] Precompute memory writers for AST aliasing analysis.
Tue, Sep 15, 9:10 PM · Restricted Project

Mon, Sep 14

mkazantsev committed rG412b417bfa79: [NFC] Add missing `const` statements in SCEV (authored by mkazantsev).
[NFC] Add missing `const` statements in SCEV
Mon, Sep 14, 4:44 AM
mkazantsev planned changes to D87344: [IndVars] Remove exiting conditions that are trivially true/false.
Mon, Sep 14, 3:19 AM · Restricted Project

Thu, Sep 10

mkazantsev resigned from D56568: [AliasSetTracker] Store AliasResult and pass it on mergeSetIn..

Same as above.

Thu, Sep 10, 9:45 PM · Restricted Project
mkazantsev committed rG8c0bbbade169: [NFC] Refactoring in SCEV: add missing `const` qualifiers (authored by mkazantsev).
[NFC] Refactoring in SCEV: add missing `const` qualifiers
Thu, Sep 10, 5:07 AM

Wed, Sep 9

mkazantsev committed rGcde8fc65aeed: [NFC] Rename variables to avoid name confusion (authored by mkazantsev).
[NFC] Rename variables to avoid name confusion
Wed, Sep 9, 11:47 PM
mkazantsev committed rGc413a8a8ecd3: [LoopLoadElim] Filter away candidates that stop being AddRecs after loop… (authored by mkazantsev).
[LoopLoadElim] Filter away candidates that stop being AddRecs after loop…
Wed, Sep 9, 11:31 PM
mkazantsev closed D87355: [LoopLoadElim] Filter away candidates that stop being AddRecs after loop versioning. PR47457.
Wed, Sep 9, 11:31 PM · Restricted Project
mkazantsev added inline comments to D87355: [LoopLoadElim] Filter away candidates that stop being AddRecs after loop versioning. PR47457.
Wed, Sep 9, 10:20 PM · Restricted Project
mkazantsev updated the diff for D87355: [LoopLoadElim] Filter away candidates that stop being AddRecs after loop versioning. PR47457.
Wed, Sep 9, 2:48 AM · Restricted Project
mkazantsev updated the diff for D87355: [LoopLoadElim] Filter away candidates that stop being AddRecs after loop versioning. PR47457.
Wed, Sep 9, 2:21 AM · Restricted Project
mkazantsev requested review of D87355: [LoopLoadElim] Filter away candidates that stop being AddRecs after loop versioning. PR47457.
Wed, Sep 9, 2:19 AM · Restricted Project
mkazantsev committed rG37a7c0a00773: [Test] Add failing test for pr47457 (authored by mkazantsev).
[Test] Add failing test for pr47457
Wed, Sep 9, 1:46 AM

Tue, Sep 8

mkazantsev committed rG795e4ee9d2db: [NFC] Move functon from IndVarSimplify to SCEV (authored by mkazantsev).
[NFC] Move functon from IndVarSimplify to SCEV
Tue, Sep 8, 9:22 PM
mkazantsev closed D87274: [NFC] Move functon from IndVarSimplify to SCEV.
Tue, Sep 8, 9:21 PM · Restricted Project
mkazantsev requested review of D87344: [IndVars] Remove exiting conditions that are trivially true/false.
Tue, Sep 8, 9:19 PM · Restricted Project
mkazantsev added a comment to D87274: [NFC] Move functon from IndVarSimplify to SCEV.

This seems pretty NFC-ish, not sure why it would require review.
SGTM

Tue, Sep 8, 9:13 PM · Restricted Project
mkazantsev requested review of D87274: [NFC] Move functon from IndVarSimplify to SCEV.
Tue, Sep 8, 12:48 AM · Restricted Project
mkazantsev committed rG046f2402025c: [Test] More tests where IndVars fails to eliminate a range check (authored by mkazantsev).
[Test] More tests where IndVars fails to eliminate a range check
Tue, Sep 8, 12:44 AM

Mon, Sep 7

mkazantsev committed rG247d02396524: [Test] Auto-generated checks for some IndVarSimplify tests (authored by mkazantsev).
[Test] Auto-generated checks for some IndVarSimplify tests
Mon, Sep 7, 9:16 PM

Fri, Sep 4

mkazantsev committed rG8784e9016d3d: [Test] Range fix in test (authored by mkazantsev).
[Test] Range fix in test
Fri, Sep 4, 5:29 AM

Thu, Sep 3

mkazantsev committed rG159f9a69b4bb: [Test] Add test showing some simple cases that IndVarSimplify does not cover (authored by mkazantsev).
[Test] Add test showing some simple cases that IndVarSimplify does not cover
Thu, Sep 3, 4:35 AM

Wed, Sep 2

mkazantsev committed rG8a3907cd494e: [Test] Simplify test by removing unneeded variable (authored by mkazantsev).
[Test] Simplify test by removing unneeded variable
Wed, Sep 2, 4:40 AM

Mon, Aug 31

mkazantsev committed rGe7f53044e726: [Test] Move IndVars test to a proper place (authored by mkazantsev).
[Test] Move IndVars test to a proper place
Mon, Aug 31, 10:18 PM

Aug 7 2020

mkazantsev committed rGda9e7b1ab03b: [Test] Added test showing missing range check elimination opportunity in IndVars (authored by mkazantsev).
[Test] Added test showing missing range check elimination opportunity in IndVars
Aug 7 2020, 2:54 AM
mkazantsev committed rG9b49a4d30120: [Test] Add one more test on IndVars that was failing on one of older builds (authored by mkazantsev).
[Test] Add one more test on IndVars that was failing on one of older builds
Aug 7 2020, 12:24 AM

Aug 3 2020

mkazantsev committed rG7647c2716e38: [SimpleLoopUnswitch][NFC] Add option to always drop make.implicit metadata in… (authored by mkazantsev).
[SimpleLoopUnswitch][NFC] Add option to always drop make.implicit metadata in…
Aug 3 2020, 8:18 PM
mkazantsev closed D85001: [SimpleLoopUnswitch][NFC] Add option to always drop make.implicit metadata in non-trivial unswitching and save compile time.
Aug 3 2020, 8:18 PM · Restricted Project
mkazantsev abandoned D57448: [DO NOT MERGE] DTU bug demonstration.
Aug 3 2020, 3:55 AM

Aug 2 2020

mkazantsev added inline comments to D51922: [NewGVN] Apply SimplifySelectInst if any of the options is undef..
Aug 2 2020, 10:20 PM
mkazantsev accepted D51922: [NewGVN] Apply SimplifySelectInst if any of the options is undef..

Looks good. Is it still not merged? :)

Aug 2 2020, 10:19 PM
mkazantsev accepted D85046: [SCEV] If Start >= RHS, simplify (Start smin RHS) to RHS for trip counts (PR46924, PR46939).

LGTM. Good catch! Need to think about API to make this more generic.

Aug 2 2020, 10:09 PM · Restricted Project
mkazantsev added a comment to D85046: [SCEV] If Start >= RHS, simplify (Start smin RHS) to RHS for trip counts (PR46924, PR46939).

Seems that SCEV simplification is unable to exploit this fact when computing minimum. I think the right place to fix this is inside getMinExpr.

Aug 2 2020, 10:01 PM · Restricted Project

Jul 31 2020

mkazantsev accepted D77560: [SCEV] don't try to query getSCEV() for incomplete PHIs.

LGTM. Please wait for Roman if he has any objections.

Jul 31 2020, 3:01 AM · Restricted Project

Jul 30 2020

mkazantsev requested review of D85001: [SimpleLoopUnswitch][NFC] Add option to always drop make.implicit metadata in non-trivial unswitching and save compile time.
Jul 30 2020, 10:13 PM · Restricted Project
mkazantsev committed rG8aaeee5fb6d7: [SimpleLoopUnswitch] Preserve make.implicit in non-trivial unswitch if legal (authored by mkazantsev).
[SimpleLoopUnswitch] Preserve make.implicit in non-trivial unswitch if legal
Jul 30 2020, 9:50 PM
mkazantsev closed D84925: [SimpleLoopUnswitch] Preserve make.implicit in non-trivial unswitch if legal.
Jul 30 2020, 9:49 PM · Restricted Project
mkazantsev added inline comments to D84925: [SimpleLoopUnswitch] Preserve make.implicit in non-trivial unswitch if legal.
Jul 30 2020, 9:36 PM · Restricted Project
mkazantsev committed rGd889e17eca8e: [SimpleLoopUnswitch] Drop make.implicit metadata in case of non-trivial… (authored by mkazantsev).
[SimpleLoopUnswitch] Drop make.implicit metadata in case of non-trivial…
Jul 30 2020, 9:33 PM
mkazantsev closed D84916: [SimpleLoopUnswitch] Drop make.implicit metadata in case of non-trivial unswitching.
Jul 30 2020, 9:33 PM · Restricted Project
mkazantsev requested review of D84925: [SimpleLoopUnswitch] Preserve make.implicit in non-trivial unswitch if legal.
Jul 30 2020, 2:38 AM · Restricted Project
mkazantsev requested review of D84916: [SimpleLoopUnswitch] Drop make.implicit metadata in case of non-trivial unswitching.
Jul 30 2020, 1:36 AM · Restricted Project
mkazantsev added inline comments to D77560: [SCEV] don't try to query getSCEV() for incomplete PHIs.
Jul 30 2020, 1:20 AM · Restricted Project

Jul 29 2020

mkazantsev committed rG3678ad88a6a1: [NFC] Remove unused variable (authored by mkazantsev).
[NFC] Remove unused variable
Jul 29 2020, 11:34 PM