Page MenuHomePhabricator

mkazantsev (Max Kazantsev)
User

Projects

User does not belong to any projects.

User Details

User Since
Jan 23 2017, 8:11 PM (167 w, 19 h)

Recent Activity

Sun, Mar 29

mkazantsev committed rG4e0d9925d6a3: [NFC] Remove obsolete checks followed by fix of… (authored by mkazantsev).
[NFC] Remove obsolete checks followed by fix of…
Sun, Mar 29, 10:30 PM
mkazantsev closed D76918: [NFC] Remove obsolete checks followed by fix of isGuaranteedToTransferExecutionToSuccessor.
Sun, Mar 29, 10:30 PM · Restricted Project

Fri, Mar 27

mkazantsev retitled D76918: [NFC] Remove obsolete checks followed by fix of isGuaranteedToTransferExecutionToSuccessor from [NFC] Removed obsolete checks followed by fix of isGuaranteedToTransferExecutionToSuccessor to [NFC] Remove obsolete checks followed by fix of isGuaranteedToTransferExecutionToSuccessor.
Fri, Mar 27, 4:50 AM · Restricted Project
mkazantsev created D76918: [NFC] Remove obsolete checks followed by fix of isGuaranteedToTransferExecutionToSuccessor.
Fri, Mar 27, 4:50 AM · Restricted Project

Wed, Mar 18

mkazantsev added a comment to D76273: [NFCI][SCEV] Avoid recursion in SCEVExpander::isHighCostExpansion*().

As a suggestion: since this helper doesn't create new code, it doesn't seem to be important whether it is FIFO or LIFO. If that is so, I'd suggest using SmallVector and LIFO algorithm instead. It should have better memory footprint. OK if it does as follow-up.

Wed, Mar 18, 4:18 AM · Restricted Project
mkazantsev added inline comments to D76273: [NFCI][SCEV] Avoid recursion in SCEVExpander::isHighCostExpansion*().
Wed, Mar 18, 4:18 AM · Restricted Project
mkazantsev accepted D76273: [NFCI][SCEV] Avoid recursion in SCEVExpander::isHighCostExpansion*().

LGTM

Wed, Mar 18, 3:46 AM · Restricted Project
mkazantsev added inline comments to D76273: [NFCI][SCEV] Avoid recursion in SCEVExpander::isHighCostExpansion*().
Wed, Mar 18, 3:46 AM · Restricted Project

Fri, Mar 13

mkazantsev accepted D70097: [SCEV] Add missing cache queries.

Looks good. Sorry for long delay.

Fri, Mar 13, 2:15 AM · Restricted Project

Thu, Mar 12

mkazantsev added inline comments to D76050: [LoopPeel] Turn incorrect assert into a check.
Thu, Mar 12, 4:30 AM · Restricted Project
mkazantsev added a comment to D76050: [LoopPeel] Turn incorrect assert into a check.

Updated the patch in accordance with comments.

Thu, Mar 12, 3:03 AM · Restricted Project
mkazantsev updated the diff for D76050: [LoopPeel] Turn incorrect assert into a check.
Thu, Mar 12, 3:03 AM · Restricted Project
mkazantsev updated the summary of D76050: [LoopPeel] Turn incorrect assert into a check.
Thu, Mar 12, 2:19 AM · Restricted Project
mkazantsev updated the summary of D76050: [LoopPeel] Turn incorrect assert into a check.
Thu, Mar 12, 2:19 AM · Restricted Project
mkazantsev created D76050: [LoopPeel] Turn incorrect assert into a check.
Thu, Mar 12, 2:19 AM · Restricted Project
mkazantsev updated the summary of D76050: [LoopPeel] Turn incorrect assert into a check.
Thu, Mar 12, 2:19 AM · Restricted Project
mkazantsev added a comment to D76050: [LoopPeel] Turn incorrect assert into a check.

@lebedev.ri I am not sure what your logic implied here; maybe instead of removal of assert this check should be a part of if for profitability reasons.

Thu, Mar 12, 2:19 AM · Restricted Project

Feb 24 2020

mkazantsev accepted D73501: [SCEV] rewriteLoopExitValues(): even if have hard uses, still rewrite if cheap (PR44668).

LGTM

Feb 24 2020, 10:16 PM · Restricted Project
mkazantsev accepted D73777: [SCEV][IndVars] Always provide insertion point to the SCEVExpander::isHighCostExpansion().

LGTM. Hope it doesn't end up exploding. :)

Feb 24 2020, 10:16 PM · Restricted Project
mkazantsev accepted D73741: [SCEV] SCEVExpander::isHighCostExpansionHelper(): cost-model polynomial recurrence.

LGTM

Feb 24 2020, 10:07 PM · Restricted Project
mkazantsev accepted D73744: [SCEV] SCEVExpander::isHighCostExpansionHelper(): cost-model min/max (PR44668).

LGTM

Feb 24 2020, 10:07 PM · Restricted Project
mkazantsev added inline comments to D73728: [SCEV] SCEVExpander::isHighCostExpansionHelper(): cost-model add/mul.
Feb 24 2020, 9:33 PM · Restricted Project
mkazantsev accepted D73728: [SCEV] SCEVExpander::isHighCostExpansionHelper(): cost-model add/mul.

LGTM

Feb 24 2020, 9:23 PM · Restricted Project
mkazantsev added inline comments to D73728: [SCEV] SCEVExpander::isHighCostExpansionHelper(): cost-model add/mul.
Feb 24 2020, 9:23 PM · Restricted Project
mkazantsev accepted D73722: [SCEV] SCEVExpander::isHighCostExpansionHelper(): cost-model plain UDiv.

LGTM

Feb 24 2020, 9:14 PM · Restricted Project

Feb 18 2020

mkazantsev accepted D73718: [SCEV] SCEVExpander::isHighCostExpansionHelper(): cost-model UDiv by power-of-two as LShr.

Not sure what are cost implications of that, but fine.

Feb 18 2020, 11:01 PM · Restricted Project
mkazantsev added inline comments to D73722: [SCEV] SCEVExpander::isHighCostExpansionHelper(): cost-model plain UDiv.
Feb 18 2020, 11:01 PM · Restricted Project
mkazantsev accepted D73716: [SCEV] SCEVExpander::isHighCostExpansionHelper(): begin cost modelling - model cast cost.

LGTM

Feb 18 2020, 11:01 PM · Restricted Project
mkazantsev added a comment to D51664: [IR] Lazily number instructions for local dominance queries.

WOW! Thanks!

Feb 18 2020, 9:03 PM · Restricted Project

Feb 10 2020

mkazantsev accepted D73705: [NFC][SCEV] Piping to pass new SCEVCheapExpansionBudget option into SCEVExpander::isHighCostExpansionHelper().

Ok, thanks for clarification. Let them shoot their legs then. :) LGTM

Feb 10 2020, 3:50 AM · Restricted Project
mkazantsev accepted D73712: [SCEV] SCEVExpander::isHighCostExpansion(): assert if TTI is not provided.

Ok, with assert it makes sense. LGTM

Feb 10 2020, 3:50 AM · Restricted Project

Feb 4 2020

mkazantsev added inline comments to D73716: [SCEV] SCEVExpander::isHighCostExpansionHelper(): begin cost modelling - model cast cost.
Feb 4 2020, 7:35 PM · Restricted Project
mkazantsev added a comment to D73712: [SCEV] SCEVExpander::isHighCostExpansion(): assert if TTI is not provided.

I'm not sure about how we should interpret lack of TTI. Maybe we should interpret it like "if there is no model, we don't care about the high costs, and everything is low cost enough", or opposite (like in your patch). Neither of this looks NFC to me (given that we can pass null TTI). Maybe we should merge it *after* we make use of TTI inside the methods?

Feb 4 2020, 7:26 PM · Restricted Project
mkazantsev accepted D73706: [NFC][SCEV] SCEVExpander::isHighCostExpansionHelper(): check that we processed expression first.

There is no possible situation when it matters, but fine. Making this check first sounds reasonable. LGTM.

Feb 4 2020, 7:26 PM · Restricted Project
mkazantsev accepted D73496: [IRCE] Use SCEVExpander to modify loop bound.

Done.

Feb 4 2020, 6:58 PM · Restricted Project
mkazantsev accepted D73592: [IRCE] Make IRCE a Function pass..
Feb 4 2020, 6:58 PM · Restricted Project
mkazantsev added inline comments to D73705: [NFC][SCEV] Piping to pass new SCEVCheapExpansionBudget option into SCEVExpander::isHighCostExpansionHelper().
Feb 4 2020, 6:58 PM · Restricted Project
mkazantsev accepted D73704: [NFC][SCEV] Piping to pass TTI into SCEVExpander::isHighCostExpansionHelper().
Feb 4 2020, 6:49 PM · Restricted Project

Feb 3 2020

mkazantsev added a comment to D73704: [NFC][SCEV] Piping to pass TTI into SCEVExpander::isHighCostExpansionHelper().

LGTM.

Feb 3 2020, 2:08 AM · Restricted Project
mkazantsev added inline comments to D73705: [NFC][SCEV] Piping to pass new SCEVCheapExpansionBudget option into SCEVExpander::isHighCostExpansionHelper().
Feb 3 2020, 2:08 AM · Restricted Project
mkazantsev added a comment to D73496: [IRCE] Use SCEVExpander to modify loop bound.

LGTM (pls make sure that clang-format is fixed).

Feb 3 2020, 1:59 AM · Restricted Project
mkazantsev added a comment to D73592: [IRCE] Make IRCE a Function pass..

Hi Alina,

Feb 3 2020, 1:32 AM · Restricted Project

Jan 30 2020

mkazantsev added inline comments to D73496: [IRCE] Use SCEVExpander to modify loop bound.
Jan 30 2020, 4:49 AM · Restricted Project
mkazantsev added a comment to D73592: [IRCE] Make IRCE a Function pass..

What was the motivation to make it a function pass? Conceptually it's a loop pass.

Jan 30 2020, 4:49 AM · Restricted Project
mkazantsev added inline comments to D73592: [IRCE] Make IRCE a Function pass..
Jan 30 2020, 4:32 AM · Restricted Project
mkazantsev added inline comments to D73592: [IRCE] Make IRCE a Function pass..
Jan 30 2020, 4:30 AM · Restricted Project
mkazantsev resigned from D60846: [ValueTracking] Improve isKnowNonZero for Ints.
Jan 30 2020, 4:21 AM · Restricted Project
mkazantsev added inline comments to D70097: [SCEV] Add missing cache queries.
Jan 30 2020, 4:12 AM · Restricted Project
mkazantsev added a comment to D70097: [SCEV] Add missing cache queries.

Do you have a simple test demonstrating a claimed speedup?

Jan 30 2020, 4:05 AM · Restricted Project
mkazantsev added a comment to D70097: [SCEV] Add missing cache queries.

I don't understand how come that getOrCreateAddExpr does not do the job instead of your code. Can you please explain what is missing there that is present in your change?

Jan 30 2020, 4:03 AM · Restricted Project
mkazantsev added a comment to D70097: [SCEV] Add missing cache queries.
Jan 30 2020, 3:53 AM · Restricted Project
mkazantsev added inline comments to D70097: [SCEV] Add missing cache queries.
Jan 30 2020, 3:52 AM · Restricted Project
mkazantsev added inline comments to D70097: [SCEV] Add missing cache queries.
Jan 30 2020, 3:42 AM · Restricted Project
mkazantsev resigned from D58187: Teach DTU to recalculate DT/PDT automatically when EntryBB is changed.
Jan 30 2020, 3:27 AM · Restricted Project
mkazantsev added a comment to D73496: [IRCE] Use SCEVExpander to modify loop bound.

I am a bit worried about that. As far as I remember RightValue needs to be in preheader because it is used in checks that decide whether or not we should go to pre/postloops. Does your case generate them? If yes, please add checks to make it explicit. If not, please construct a similar test with pre/postloop and make sure it passes with the fix.

Jan 30 2020, 2:26 AM · Restricted Project
mkazantsev added inline comments to D73592: [IRCE] Make IRCE a Function pass..
Jan 30 2020, 2:08 AM · Restricted Project

Jan 28 2020

mkazantsev added a comment to D71053: [LV] Take overhead of run-time checks into account during vectorization..

In the commit message:

I see to possibilities to mitigate that.

to -> two

Jan 28 2020, 6:41 AM · Restricted Project
mkazantsev added a comment to D71053: [LV] Take overhead of run-time checks into account during vectorization..

Just nits from me, I don't know this part well enough to approve.

Jan 28 2020, 6:41 AM · Restricted Project

Jan 23 2020

mkazantsev added a comment to D73181: [SCEV] Use backedge SCEV of PHI only if its input is loop invariant.

LGTM with nit (see inline).

Jan 23 2020, 2:36 AM · Restricted Project
mkazantsev added inline comments to D73181: [SCEV] Use backedge SCEV of PHI only if its input is loop invariant.
Jan 23 2020, 12:39 AM · Restricted Project

Oct 7 2019

mkazantsev closed D39228: [SCEV] Enhance SCEVFindUnsafe for division.
Oct 7 2019, 5:20 AM · Restricted Project

Feb 21 2019

mkazantsev added inline comments to D58524: [LoopSimplifyCFG] Update MemorySSA after r353911..
Feb 21 2019, 10:27 PM · Restricted Project
mkazantsev created D58500: [DO NOT MERGE] Explore MSSA behavior in LoopSimplifyCFG.
Feb 21 2019, 3:44 AM · Restricted Project
mkazantsev committed rG8ff2e8699428: [NFC] Replace EOL in test file (authored by mkazantsev).
[NFC] Replace EOL in test file
Feb 21 2019, 1:56 AM
mkazantsev committed rL354562: [NFC] Replace EOL in test file.
[NFC] Replace EOL in test file
Feb 21 2019, 1:56 AM
mkazantsev committed rGb672602f9ed9: [TEST] Add failing test that shows problems with MSSA update in LoopSimplifyCFG (authored by mkazantsev).
[TEST] Add failing test that shows problems with MSSA update in LoopSimplifyCFG
Feb 21 2019, 1:40 AM
mkazantsev committed rL354559: [TEST] Add failing test that shows problems with MSSA update in LoopSimplifyCFG.
[TEST] Add failing test that shows problems with MSSA update in LoopSimplifyCFG
Feb 21 2019, 1:39 AM

Feb 20 2019

mkazantsev committed rG10489d76f635: [LoopSimplifyCFG] Add missing MSSA edge deletion (authored by mkazantsev).
[LoopSimplifyCFG] Add missing MSSA edge deletion
Feb 20 2019, 9:52 PM
mkazantsev committed rL354547: [LoopSimplifyCFG] Add missing MSSA edge deletion.
[LoopSimplifyCFG] Add missing MSSA edge deletion
Feb 20 2019, 9:50 PM
mkazantsev added a comment to D58113: [SCEV] Teach computeSCEVAtScope benefit from one-input Phi. PR39673.

Ping?

Feb 20 2019, 3:08 AM · Restricted Project

Feb 19 2019

mkazantsev added a comment to D58231: [LICM] Support of widenable condition guards in LICM.

Ok. Then I suggest to hold it off unless we see a case where unswitch doesn't do its job and this does.

Feb 19 2019, 9:58 PM · Restricted Project
mkazantsev added a comment to D58231: [LICM] Support of widenable condition guards in LICM.

The main motivation is unification - I don't want to leave a single thing that is supported for intrinsic guards and not supported for control flow guards. Unswitching has known problems related to exponential code size growth, so I don't want our ability to eliminate guards in loops to depend on its cost model.

Feb 19 2019, 3:21 AM · Restricted Project
mkazantsev committed rGebd95ea86e45: [NFC] API for signaling that the current loop is being deleted (authored by mkazantsev).
[NFC] API for signaling that the current loop is being deleted
Feb 19 2019, 3:19 AM
mkazantsev committed rG30095d97955c: [NFC] Store loop header in a local to keep it available after the loop is… (authored by mkazantsev).
[NFC] Store loop header in a local to keep it available after the loop is…
Feb 19 2019, 3:19 AM
mkazantsev committed rL354314: [NFC] API for signaling that the current loop is being deleted.
[NFC] API for signaling that the current loop is being deleted
Feb 19 2019, 3:19 AM
mkazantsev committed rL354313: [NFC] Store loop header in a local to keep it available after the loop is….
[NFC] Store loop header in a local to keep it available after the loop is…
Feb 19 2019, 3:19 AM
mkazantsev updated the diff for D54831: [LoopSimplifyCFG] Delete current loop.

Rebased.

Feb 19 2019, 3:11 AM · Restricted Project
mkazantsev updated the diff for D54750: [LoopSimplifyCFG] Support blocks that are live, but no longer a part of current loop.

Rebased.

Feb 19 2019, 3:09 AM · Restricted Project

Feb 17 2019

mkazantsev updated the diff for D54750: [LoopSimplifyCFG] Support blocks that are live, but no longer a part of current loop.
Feb 17 2019, 10:29 AM · Restricted Project
mkazantsev updated the diff for D54750: [LoopSimplifyCFG] Support blocks that are live, but no longer a part of current loop.
Feb 17 2019, 10:29 AM · Restricted Project
mkazantsev committed rG635b98857850: [TEST] Remove 2>&1 from tests (authored by mkazantsev).
[TEST] Remove 2>&1 from tests
Feb 17 2019, 10:22 AM
mkazantsev committed rG4561475e0913: [NFC] Teach getInnermostLoopFor walk up the loop trees (authored by mkazantsev).
[NFC] Teach getInnermostLoopFor walk up the loop trees
Feb 17 2019, 10:22 AM
mkazantsev committed rL354229: [TEST] Remove 2>&1 from tests.
[TEST] Remove 2>&1 from tests
Feb 17 2019, 10:22 AM
mkazantsev committed rL354227: [NFC] Teach getInnermostLoopFor walk up the loop trees.
[NFC] Teach getInnermostLoopFor walk up the loop trees
Feb 17 2019, 10:22 AM
mkazantsev committed rGd72c1a0c5c66: [NFC] Fix name and clarifying comment for factored-out function (authored by mkazantsev).
[NFC] Fix name and clarifying comment for factored-out function
Feb 17 2019, 7:23 AM
mkazantsev committed rL354220: [NFC] Fix name and clarifying comment for factored-out function.
[NFC] Fix name and clarifying comment for factored-out function
Feb 17 2019, 7:22 AM
mkazantsev committed rG0f943269a01f: [NFC] Factor out a function for future reuse (authored by mkazantsev).
[NFC] Factor out a function for future reuse
Feb 17 2019, 7:04 AM
mkazantsev committed rL354218: [NFC] Factor out a function for future reuse.
[NFC] Factor out a function for future reuse
Feb 17 2019, 7:04 AM

Feb 15 2019

mkazantsev committed rGc065b025a666: [NFCI] Factor out block removal from stack of nested loops (authored by mkazantsev).
[NFCI] Factor out block removal from stack of nested loops
Feb 15 2019, 4:21 AM
mkazantsev committed rL354124: [NFCI] Factor out block removal from stack of nested loops.
[NFCI] Factor out block removal from stack of nested loops
Feb 15 2019, 4:21 AM
mkazantsev committed rG136f09bea19b: [NFC] Promote DFS to field for further use (authored by mkazantsev).
[NFC] Promote DFS to field for further use
Feb 15 2019, 3:39 AM
mkazantsev committed rL354118: [NFC] Promote DFS to field for further use.
[NFC] Promote DFS to field for further use
Feb 15 2019, 3:39 AM
mkazantsev updated the diff for D58231: [LICM] Support of widenable condition guards in LICM.
Feb 15 2019, 1:37 AM · Restricted Project
mkazantsev committed rG73db5c137af2: [NFC] Tweak SplitBlockAndInsertIfThen to use existing ThenBlock (authored by mkazantsev).
[NFC] Tweak SplitBlockAndInsertIfThen to use existing ThenBlock
Feb 15 2019, 12:18 AM
mkazantsev committed rL354107: [NFC] Tweak SplitBlockAndInsertIfThen to use existing ThenBlock.
[NFC] Tweak SplitBlockAndInsertIfThen to use existing ThenBlock
Feb 15 2019, 12:18 AM

Feb 14 2019

mkazantsev committed rG184bd7a0d856: [TEST] Update test comments, refactor checks with update_test_checks.py (authored by mkazantsev).
[TEST] Update test comments, refactor checks with update_test_checks.py
Feb 14 2019, 11:07 PM
mkazantsev committed rL354101: [TEST] Update test comments, refactor checks with update_test_checks.py.
[TEST] Update test comments, refactor checks with update_test_checks.py
Feb 14 2019, 11:07 PM
mkazantsev added inline comments to D58187: Teach DTU to recalculate DT/PDT automatically when EntryBB is changed.
Feb 14 2019, 10:10 PM · Restricted Project
mkazantsev planned changes to D58231: [LICM] Support of widenable condition guards in LICM.
Feb 14 2019, 9:26 PM · Restricted Project
mkazantsev created D58231: [LICM] Support of widenable condition guards in LICM.
Feb 14 2019, 4:51 AM · Restricted Project