Page MenuHomePhabricator

mkazantsev (Max Kazantsev)
User

Projects

User does not belong to any projects.

User Details

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

Recent Activity

Yesterday

mkazantsev accepted D128904: Bug fix "GC relocate is incorrectly tied to the statepoint".

LGTM w/ description fix.

Tue, Jul 5, 1:57 AM · Restricted Project, Restricted Project

Mon, Jul 4

mkazantsev added a comment to D128904: Bug fix "GC relocate is incorrectly tied to the statepoint".

Pls change patch description into smth more verbose, like

Make Verifier recognize undef tokens as correct IR
Mon, Jul 4, 11:12 PM · Restricted Project, Restricted Project
mkazantsev added inline comments to D128904: Bug fix "GC relocate is incorrectly tied to the statepoint".
Mon, Jul 4, 5:10 AM · Restricted Project, Restricted Project

Thu, Jun 30

mkazantsev added inline comments to D128904: Bug fix "GC relocate is incorrectly tied to the statepoint".
Thu, Jun 30, 4:58 AM · Restricted Project, Restricted Project

Wed, Jun 29

mkazantsev updated the diff for D128815: [LICM] Do not sink instructions that use tokens. PR56243.
Wed, Jun 29, 6:15 AM · Restricted Project, Restricted Project
mkazantsev requested review of D128815: [LICM] Do not sink instructions that use tokens. PR56243.
Wed, Jun 29, 6:12 AM · Restricted Project, Restricted Project
mkazantsev committed rGabb8bf367118: [Test] Add XFAIL test for PR56243 (authored by mkazantsev).
[Test] Add XFAIL test for PR56243
Wed, Jun 29, 5:47 AM · Restricted Project, Restricted Project

Tue, Jun 28

mkazantsev accepted D128779: [GuardWidening] Add tests showing the incorrect behavior of GW wrt poison.

Pls add test with side effect that we've discussed offline.

Tue, Jun 28, 11:29 PM · Restricted Project, Restricted Project
mkazantsev added a comment to D128779: [GuardWidening] Add tests showing the incorrect behavior of GW wrt poison.

I didn't quite get what's the problem with 2nd example and logical and, but the first example is more than enough to admit it's a bug.

Tue, Jun 28, 10:37 PM · Restricted Project, Restricted Project
mkazantsev added inline comments to D128779: [GuardWidening] Add tests showing the incorrect behavior of GW wrt poison.
Tue, Jun 28, 10:35 PM · Restricted Project, Restricted Project

Wed, Jun 22

mkazantsev committed rGcff4f04e2ed8: [LSR] Don't allow zero quotient as scale ref. PR56160 (authored by mkazantsev).
[LSR] Don't allow zero quotient as scale ref. PR56160
Wed, Jun 22, 9:34 AM · Restricted Project, Restricted Project
mkazantsev closed D128339: [LSR] Don't allow zero quotient as scale ref. PR56160.
Wed, Jun 22, 9:34 AM · Restricted Project, Restricted Project
mkazantsev added a comment to D128339: [LSR] Don't allow zero quotient as scale ref. PR56160.

Well, using bug IDs in test names is a common practice, and the idea is to refer the bug that this patch fixes.

Wed, Jun 22, 9:07 AM · Restricted Project, Restricted Project
mkazantsev requested review of D128339: [LSR] Don't allow zero quotient as scale ref. PR56160.
Wed, Jun 22, 6:51 AM · Restricted Project, Restricted Project

Wed, Jun 8

mkazantsev committed rG16c028a8c829: [Test] Add XFAIL test for PR55689 (authored by mkazantsev).
[Test] Add XFAIL test for PR55689
Wed, Jun 8, 2:02 AM · Restricted Project, Restricted Project

Jun 2 2022

mkazantsev committed rG8555e59a7172: [NFC][MemDep] Remove unnecessary Worklist.clear (authored by mkazantsev).
[NFC][MemDep] Remove unnecessary Worklist.clear
Jun 2 2022, 10:32 PM · Restricted Project, Restricted Project

Jun 1 2022

mkazantsev abandoned D112693: [SimplifyCFG] Fix miscompile in tryWidenCondBranchToCondBranch. PR52290.
Jun 1 2022, 12:01 AM · Restricted Project, Restricted Project

May 30 2022

mkazantsev committed rG7e5a730473a7: [MemDep][NFC] Remove duplicating check in `if` and `else` branch (authored by mkazantsev).
[MemDep][NFC] Remove duplicating check in `if` and `else` branch
May 30 2022, 3:43 AM · Restricted Project, Restricted Project
mkazantsev committed rG180d3f251d1a: [MemDep][NFCI] Remove redundant dyn_cast, replace with cast (authored by mkazantsev).
[MemDep][NFCI] Remove redundant dyn_cast, replace with cast
May 30 2022, 3:18 AM · Restricted Project, Restricted Project

May 29 2022

mkazantsev committed rG503d5771b6c5: [JumpThreading][NFCI] Reuse existing DT instead of recomputation (authored by mkazantsev).
[JumpThreading][NFCI] Reuse existing DT instead of recomputation
May 29 2022, 10:50 PM · Restricted Project, Restricted Project
mkazantsev added a comment to D126503: [SCEV] Use fact that B >u 0 for A <u B in applyLoopGuards..

Generally LGTM, but please think of examples I've provided, maybe there is a better solution.

May 29 2022, 10:12 PM · Restricted Project, Restricted Project
mkazantsev accepted D126503: [SCEV] Use fact that B >u 0 for A <u B in applyLoopGuards..
May 29 2022, 9:37 PM · Restricted Project, Restricted Project
mkazantsev added a comment to D126503: [SCEV] Use fact that B >u 0 for A <u B in applyLoopGuards..

I was thinking of smth like

define void @test_chceks_in_loop(i32* nocapture %a, i64 %i, i64 %N) {
entry:
  br label loop
May 29 2022, 9:31 PM · Restricted Project, Restricted Project

May 27 2022

mkazantsev added a comment to D126503: [SCEV] Use fact that B >u 0 for A <u B in applyLoopGuards..

Will it still work if c1 and c2 are checked in the loop? To me it looks like there is some piece of logic is missing in isImpliedCondition.

May 27 2022, 12:49 AM · Restricted Project, Restricted Project

May 25 2022

mkazantsev accepted D126354: [GuardWidening] Remove nuw/nsw flags for hoisted instructions.

Looks good, but please regenerate checks here. It's not clear at all what this test is trying to ensure (e.g. what is wide.chk).

May 25 2022, 4:47 AM · Restricted Project, Restricted Project

May 24 2022

mkazantsev added a comment to D114171: [SLP]Improve reductions analysis and emission, part 1..

Hi @ABataev, this patch is still causing miscompile, see https://github.com/llvm/llvm-project/issues/55688 for details.

May 24 2022, 11:44 PM · Restricted Project, Restricted Project
mkazantsev committed rG143ca151061d: Fix comment in test. NFC (authored by mkazantsev).
Fix comment in test. NFC
May 24 2022, 3:22 AM · Restricted Project, Restricted Project
mkazantsev committed rG1968f765c359: [Test] Add LICM test for PR55672 showing problem with freeze instruction (authored by mkazantsev).
[Test] Add LICM test for PR55672 showing problem with freeze instruction
May 24 2022, 3:18 AM · Restricted Project, Restricted Project

May 12 2022

mkazantsev accepted D125000: [RS4GC] Cache BDVs and bases alogn with IsKnownBase flag (NFC).

That looks much safer now! Thanks. LGTM.

May 12 2022, 3:21 AM · Restricted Project, Restricted Project
mkazantsev committed rG2a40cc532bca: [Test] Regenerate checks using auto-update (work around PR55365) (authored by mkazantsev).
[Test] Regenerate checks using auto-update (work around PR55365)
May 12 2022, 2:10 AM · Restricted Project, Restricted Project

May 11 2022

mkazantsev requested changes to D125000: [RS4GC] Cache BDVs and bases alogn with IsKnownBase flag (NFC).

Withdrawing LGTM until asserts are added. I also think you should shortcut through cached method, unless there are reasons not to.

May 11 2022, 5:31 AM · Restricted Project, Restricted Project
mkazantsev added inline comments to D125000: [RS4GC] Cache BDVs and bases alogn with IsKnownBase flag (NFC).
May 11 2022, 5:09 AM · Restricted Project, Restricted Project
mkazantsev added a comment to D125000: [RS4GC] Cache BDVs and bases alogn with IsKnownBase flag (NFC).

Pls assert that you don't overwrite values in your cache.

May 11 2022, 5:05 AM · Restricted Project, Restricted Project
mkazantsev accepted D125000: [RS4GC] Cache BDVs and bases alogn with IsKnownBase flag (NFC).

LGTM with nit.

May 11 2022, 5:02 AM · Restricted Project, Restricted Project
mkazantsev requested changes to D125000: [RS4GC] Cache BDVs and bases alogn with IsKnownBase flag (NFC).
May 11 2022, 4:55 AM · Restricted Project, Restricted Project
mkazantsev added inline comments to D125000: [RS4GC] Cache BDVs and bases alogn with IsKnownBase flag (NFC).
May 11 2022, 3:16 AM · Restricted Project, Restricted Project
mkazantsev added a comment to D125000: [RS4GC] Cache BDVs and bases alogn with IsKnownBase flag (NFC).

It looks like all you want BaseDefiningValueResult for is simply keeping one boolean for each Value you know the answer for. To me it looks like you simply need a map Value -> bool, and isKnownBaseResult should just return result from this map. After that, we don't need the structure BaseDefiningValueResult at all.

May 11 2022, 3:13 AM · Restricted Project, Restricted Project

May 10 2022

mkazantsev added inline comments to D124645: [SCEV] Model simple same base pointer `select`s via `umin_seq`.
May 10 2022, 2:15 AM · Restricted Project, Restricted Project
mkazantsev accepted D124646: [SCEV] Support modelling of same base pointer `select`s in more complex than most trivial cases (when there is a base variable offset).

Looks nice, but I'd suggest some restructuring.

May 10 2022, 2:01 AM · Restricted Project, Restricted Project
mkazantsev added a comment to D125000: [RS4GC] Cache BDVs and bases alogn with IsKnownBase flag (NFC).

General questions: there are multiple places where we call eraseFromParent. Is there a guarantee that after this the cache is valid? Any way to verify this?

May 10 2022, 1:45 AM · Restricted Project, Restricted Project
mkazantsev accepted D125003: [RS4GC] Treat a value that has a single base and no derived inputs as base value.

LGTM w/ nit.

May 10 2022, 1:41 AM · Restricted Project, Restricted Project

May 9 2022

mkazantsev committed rGfb148057c548: Return "[Test] One more test to prevent crash in SLP vectorizer" (authored by mkazantsev).
Return "[Test] One more test to prevent crash in SLP vectorizer"
May 9 2022, 11:30 PM · Restricted Project, Restricted Project
mkazantsev added a reverting change for rG1daf35f47cb1: [Test] One more test to prevent crash in SLP vectorizer: rG00916f700820: Revert "[Test] One more test to prevent crash in SLP vectorizer".
May 9 2022, 11:21 PM · Restricted Project, Restricted Project
mkazantsev committed rG00916f700820: Revert "[Test] One more test to prevent crash in SLP vectorizer" (authored by mkazantsev).
Revert "[Test] One more test to prevent crash in SLP vectorizer"
May 9 2022, 11:21 PM · Restricted Project, Restricted Project
mkazantsev committed rG1daf35f47cb1: [Test] One more test to prevent crash in SLP vectorizer (authored by mkazantsev).
[Test] One more test to prevent crash in SLP vectorizer
May 9 2022, 11:11 PM · Restricted Project, Restricted Project

May 6 2022

mkazantsev committed rG5a08e81779d0: [RS4GC] Add support for 'freeze' instruction to findBaseDefiningValue (authored by mkazantsev).
[RS4GC] Add support for 'freeze' instruction to findBaseDefiningValue
May 6 2022, 6:46 AM · Restricted Project, Restricted Project
mkazantsev committed rGe6a7afae0310: [NFC] Fix typo in assert message (authored by mkazantsev).
[NFC] Fix typo in assert message
May 6 2022, 6:32 AM · Restricted Project, Restricted Project

Apr 27 2022

mkazantsev committed rG35f38583d2f2: [JumpThreading][NFC][CompileTime] Do not recompute BPI/BFI analyzes (authored by mkazantsev).
[JumpThreading][NFC][CompileTime] Do not recompute BPI/BFI analyzes
Apr 27 2022, 9:17 PM · Restricted Project, Restricted Project
mkazantsev closed D124439: [JumpThreading][NFC][CompileTime] Do not recompute BPI/BFI analyzes.
Apr 27 2022, 9:17 PM · Restricted Project, Restricted Project
mkazantsev updated the diff for D124439: [JumpThreading][NFC][CompileTime] Do not recompute BPI/BFI analyzes.

Addressed comments.

Apr 27 2022, 6:07 AM · Restricted Project, Restricted Project
mkazantsev added inline comments to D124439: [JumpThreading][NFC][CompileTime] Do not recompute BPI/BFI analyzes.
Apr 27 2022, 5:38 AM · Restricted Project, Restricted Project
mkazantsev accepted D124478: [IRCE] Avoid computing potentially unnecessary analyses. NFC.
Apr 27 2022, 5:37 AM · Restricted Project, Restricted Project

Apr 26 2022

mkazantsev retitled D124439: [JumpThreading][NFC][CompileTime] Do not recompute BPI/BFI analyzes from [JumpThreading][NFC] Reuse existing LoopInfo instead of recomputation to [JumpThreading][NFC][CompileTime] Reuse existing LoopInfo instead of recomputation.
Apr 26 2022, 1:14 AM · Restricted Project, Restricted Project
mkazantsev added a comment to D124439: [JumpThreading][NFC][CompileTime] Do not recompute BPI/BFI analyzes.

My measurements are tad noisy, but they show ~10% JumpThreading CT saving on a big method.

Apr 26 2022, 1:12 AM · Restricted Project, Restricted Project
mkazantsev requested review of D124439: [JumpThreading][NFC][CompileTime] Do not recompute BPI/BFI analyzes.
Apr 26 2022, 1:05 AM · Restricted Project, Restricted Project

Apr 25 2022

mkazantsev committed rG606a000d1a13: [LoopInstSimplify] Ignore users in unreachable blocks. PR55072 (authored by mkazantsev).
[LoopInstSimplify] Ignore users in unreachable blocks. PR55072
Apr 25 2022, 3:36 AM · Restricted Project, Restricted Project
mkazantsev closed D124368: [LoopInstSimplify] Ignore users in unreachable blocks. PR55072.
Apr 25 2022, 3:36 AM · Restricted Project, Restricted Project
mkazantsev added inline comments to D124368: [LoopInstSimplify] Ignore users in unreachable blocks. PR55072.
Apr 25 2022, 3:21 AM · Restricted Project, Restricted Project
mkazantsev committed rGab17873ee696: [Test] Simplify test for PR55072 (authored by mkazantsev).
[Test] Simplify test for PR55072
Apr 25 2022, 3:21 AM · Restricted Project, Restricted Project
mkazantsev added inline comments to D124368: [LoopInstSimplify] Ignore users in unreachable blocks. PR55072.
Apr 25 2022, 3:16 AM · Restricted Project, Restricted Project
mkazantsev requested review of D124368: [LoopInstSimplify] Ignore users in unreachable blocks. PR55072.
Apr 25 2022, 2:13 AM · Restricted Project, Restricted Project
mkazantsev committed rG8ac447adc882: [Test] Add test for PR55072 (authored by mkazantsev).
[Test] Add test for PR55072
Apr 25 2022, 1:19 AM · Restricted Project, Restricted Project

Apr 20 2022

mkazantsev accepted D123846: [RS4GC] Prune inputs of BDV if they are BDV themselves.
Apr 20 2022, 4:15 AM · Restricted Project, Restricted Project
mkazantsev committed rGa0595f8c99a2: [Test] One more test with potentially malformed phis (authored by mkazantsev).
[Test] One more test with potentially malformed phis
Apr 20 2022, 1:51 AM · Restricted Project, Restricted Project
mkazantsev committed rG57d17795b9eb: [Test] Add one more test for patch [SLP]Improve reductions analysis and… (authored by mkazantsev).
[Test] Add one more test for patch [SLP]Improve reductions analysis and…
Apr 20 2022, 12:00 AM · Restricted Project, Restricted Project

Apr 19 2022

mkazantsev added a comment to D114171: [SLP]Improve reductions analysis and emission, part 1..

This causes the following failure: https://github.com/llvm/llvm-project/issues/54976

Apr 19 2022, 5:14 AM · Restricted Project, Restricted Project

Apr 18 2022

mkazantsev added inline comments to D123848: [RS4GC] Don't clone BDV if its inputs are not derived.
Apr 18 2022, 12:57 AM · Restricted Project, Restricted Project
mkazantsev accepted D123864: [LoopPeel][NFC] Exit early if there is no room for peeling.
Apr 18 2022, 12:41 AM · Restricted Project, Restricted Project

Apr 15 2022

mkazantsev added inline comments to D123846: [RS4GC] Prune inputs of BDV if they are BDV themselves.
Apr 15 2022, 2:49 AM · Restricted Project, Restricted Project
mkazantsev added a comment to D123846: [RS4GC] Prune inputs of BDV if they are BDV themselves.

Will this patch handle the following example:

Apr 15 2022, 2:44 AM · Restricted Project, Restricted Project
mkazantsev added inline comments to D123846: [RS4GC] Prune inputs of BDV if they are BDV themselves.
Apr 15 2022, 2:39 AM · Restricted Project, Restricted Project

Apr 5 2022

mkazantsev committed rG9a2798c7a36e: [CodeGen][NFC] Hoist budget check out of loop (authored by mkazantsev).
[CodeGen][NFC] Hoist budget check out of loop
Apr 5 2022, 12:29 AM · Restricted Project, Restricted Project

Mar 29 2022

mkazantsev reclaimed D112693: [SimplifyCFG] Fix miscompile in tryWidenCondBranchToCondBranch. PR52290.
Mar 29 2022, 1:20 AM · Restricted Project, Restricted Project

Mar 28 2022

mkazantsev accepted D122457: [LSR] Fix canonicalization formula and its checker..

LGTM with nits.

Mar 28 2022, 10:08 PM · Restricted Project, Restricted Project

Mar 27 2022

mkazantsev added a comment to D122457: [LSR] Fix canonicalization formula and its checker..

Yup, I agree with that. To me the initial formula

reg((-1 * {0,+,8}<nuw><nsw><%bb2>)<nsw>) + 1*reg((8 * (%arg /u 8))<nuw>)

isn't canonical too, but because of wrong check (which simply checks that base reg isa SCEVAddRec) multiplication by minus one obfuscates this.

Mar 27 2022, 9:13 PM · Restricted Project, Restricted Project
mkazantsev added inline comments to D122457: [LSR] Fix canonicalization formula and its checker..
Mar 27 2022, 8:36 PM · Restricted Project, Restricted Project
mkazantsev added a comment to D122457: [LSR] Fix canonicalization formula and its checker..

Could you please elaborate what kind of crash do you see? Is it simply an assertion that something must be canonical and it's not, or something more sophisticated?

Mar 27 2022, 8:34 PM · Restricted Project, Restricted Project

Mar 4 2022

mkazantsev abandoned D100637: [deref] Ask GC if it can free memory at a pointer.
Mar 4 2022, 12:21 AM · Restricted Project, Restricted Project
mkazantsev abandoned D100559: [GC][NFC] Make getGCStrategy by name available in IR.
Mar 4 2022, 12:21 AM · Restricted Project, Restricted Project
mkazantsev abandoned D111878: [SCEV] Allow non-overflowing binops when analyzing SCC.
Mar 4 2022, 12:20 AM · Restricted Project, Restricted Project
mkazantsev abandoned D120314: [NFC][SCEV] Give hints on why we forget loops.
Mar 4 2022, 12:20 AM · Restricted Project, Restricted Project
mkazantsev resigned from D111418: [GVN] Simple GVNHoist - limits.
Mar 4 2022, 12:14 AM · Restricted Project, Restricted Project
mkazantsev resigned from D113342: [LoopRotate] Add branch_weights metadata for rotated branch.
Mar 4 2022, 12:14 AM · Restricted Project, Restricted Project
mkazantsev resigned from D114650: [SCEV] Construct SCEV iteratively..
Mar 4 2022, 12:14 AM · Restricted Project, Restricted Project
mkazantsev resigned from D115160: [GVN] MemorySSA for GVN: use the incoming memory state in the value numbers.
Mar 4 2022, 12:14 AM · Restricted Project, Restricted Project
mkazantsev resigned from D116825: [GVN] MemorySSA for GVN: use MemorySSA for redundant loads elimination.
Mar 4 2022, 12:14 AM · Restricted Project, Restricted Project
mkazantsev resigned from D118255: [GVN] MemorySSA for GVN: add a switch to enable MemorySSA for GVN.
Mar 4 2022, 12:13 AM · Restricted Project, Restricted Project
mkazantsev resigned from D119558: [SCEV] Add SCEVCompareExpr node.
Mar 4 2022, 12:13 AM · Restricted Project, Restricted Project
mkazantsev resigned from D119631: [SCEV] Replace SCEVComparePredicate with a wrapped SCEV expression.
Mar 4 2022, 12:13 AM · Restricted Project, Restricted Project
mkazantsev resigned from D120033: [SCEV] Fully invalidate SCEVUnknown on RAUW.
Mar 4 2022, 12:13 AM · Restricted Project, Restricted Project
mkazantsev resigned from D120421: [GVN] MemorySSA for GVN: switch to using MemorySSA by default.
Mar 4 2022, 12:13 AM · Restricted Project, Restricted Project
mkazantsev resigned from D120551: [SCEV] Enable verification in LoopPM.
Mar 4 2022, 12:13 AM · Restricted Project, Restricted Project
mkazantsev resigned from D120708: [SCEV] Enable verification under EXPENSIVE_CHECKS.
Mar 4 2022, 12:12 AM · Restricted Project, Restricted Project
mkazantsev resigned from D120811: [Dominators] Don't treat multi-edge as dominating.
Mar 4 2022, 12:12 AM · Restricted Project, Restricted Project

Mar 1 2022

mkazantsev accepted D120651: [SCEV] Only verify BECounts for reachable loops (PR50523).

LGTM

Mar 1 2022, 1:37 AM · Restricted Project
mkazantsev added inline comments to D120651: [SCEV] Only verify BECounts for reachable loops (PR50523).
Mar 1 2022, 1:23 AM · Restricted Project
mkazantsev added inline comments to D120651: [SCEV] Only verify BECounts for reachable loops (PR50523).
Mar 1 2022, 1:07 AM · Restricted Project

Feb 27 2022

mkazantsev added a comment to D120551: [SCEV] Enable verification in LoopPM.

Why can't we just give up verification of unreachable loops/blocks?

Feb 27 2022, 10:49 PM · Restricted Project, Restricted Project

Feb 24 2022

mkazantsev added inline comments to D119558: [SCEV] Add SCEVCompareExpr node.
Feb 24 2022, 8:59 PM · Restricted Project, Restricted Project
mkazantsev added a comment to D120033: [SCEV] Fully invalidate SCEVUnknown on RAUW.

When something is already erased from uniqueSCEVs, but is still in use, I'm pretty sure verify() should break somewhere on this situation. Is this something that is happening in reality?

Feb 24 2022, 8:51 PM · Restricted Project, Restricted Project