Page MenuHomePhabricator

dmakogon (Dmitry Makogon)
User

Projects

User does not belong to any projects.

User Details

User Since
Jul 7 2021, 12:08 AM (89 w, 3 d)

Recent Activity

Yesterday

dmakogon committed rG8e85bede79ba: [Test] Regenerate test checks for some LSR tests (NFC) (authored by dmakogon).
[Test] Regenerate test checks for some LSR tests (NFC)
Fri, Mar 24, 7:25 AM · Restricted Project, Restricted Project
dmakogon committed rG2ac5bf2272d9: [Test] Add test to check that LCSSA is preserved by LSR (NFC) (authored by dmakogon).
[Test] Add test to check that LCSSA is preserved by LSR (NFC)
Fri, Mar 24, 7:25 AM · Restricted Project, Restricted Project
dmakogon updated the diff for D146811: [LSR] Preserve LCSSA when rewriting instruction with PHI user.

Accidentally changed one test's run line to use new PM, reverted back now.

Fri, Mar 24, 7:22 AM · Restricted Project, Restricted Project
dmakogon requested review of D146811: [LSR] Preserve LCSSA when rewriting instruction with PHI user.
Fri, Mar 24, 7:18 AM · Restricted Project, Restricted Project
dmakogon committed rG90eab480a91c: [Test] Use autogenerated checks in uglygep.ll test for LSR (NFC) (authored by dmakogon).
[Test] Use autogenerated checks in uglygep.ll test for LSR (NFC)
Fri, Mar 24, 4:48 AM · Restricted Project, Restricted Project

Mon, Mar 13

dmakogon committed rGb60758374b7b: [SCEV] Apply loop guards against min/max for its arguments (authored by dmakogon).
[SCEV] Apply loop guards against min/max for its arguments
Mon, Mar 13, 10:07 AM · Restricted Project, Restricted Project
dmakogon committed rGbcda7db5e503: [SCEV] Rename variables in applyLoopGuards (NFC) (authored by dmakogon).
[SCEV] Rename variables in applyLoopGuards (NFC)
Mon, Mar 13, 10:07 AM · Restricted Project, Restricted Project
dmakogon closed D145230: [ScalarEvolution] Apply loop guards against min/max for its arguments.
Mon, Mar 13, 10:06 AM · Restricted Project, Restricted Project

Tue, Mar 7

dmakogon updated the diff for D145230: [ScalarEvolution] Apply loop guards against min/max for its arguments.

Thanks for the suggestions, Max.

  1. Now the switch uses fallthroughs.
  2. The expressions are now processed in a worklist, for min/max we enqueue their operands.
  3. Suggest to fix +/- 1 bug in a follow-up. The bug was there before, this patch doesn't expose it anyway.
Tue, Mar 7, 1:12 AM · Restricted Project, Restricted Project
dmakogon committed rG30496bf64532: [SCEV] Use fallthoughs in predicate switch when collecting rewrites for loop… (authored by dmakogon).
[SCEV] Use fallthoughs in predicate switch when collecting rewrites for loop…
Tue, Mar 7, 1:08 AM · Restricted Project, Restricted Project

Fri, Mar 3

dmakogon updated the diff for D145230: [ScalarEvolution] Apply loop guards against min/max for its arguments.

Cleanup, got rid of copy-paste code

Fri, Mar 3, 12:39 PM · Restricted Project, Restricted Project
dmakogon updated the summary of D145230: [ScalarEvolution] Apply loop guards against min/max for its arguments.
Fri, Mar 3, 12:24 PM · Restricted Project, Restricted Project
dmakogon updated the summary of D145230: [ScalarEvolution] Apply loop guards against min/max for its arguments.
Fri, Mar 3, 11:59 AM · Restricted Project, Restricted Project
dmakogon added a comment to D145231: [SCEV] Support mul in SCEVLoopGuardRewriter.

Fixes regression introduced by https://reviews.llvm.org/D145230

Fri, Mar 3, 4:43 AM · Restricted Project, Restricted Project
dmakogon updated the diff for D145230: [ScalarEvolution] Apply loop guards against min/max for its arguments.

There is one regression I didn't notice initially. Posted fix for review - https://reviews.llvm.org/D145231

Fri, Mar 3, 4:42 AM · Restricted Project, Restricted Project
dmakogon requested review of D145231: [SCEV] Support mul in SCEVLoopGuardRewriter.
Fri, Mar 3, 4:42 AM · Restricted Project, Restricted Project
dmakogon requested review of D145230: [ScalarEvolution] Apply loop guards against min/max for its arguments.
Fri, Mar 3, 4:28 AM · Restricted Project, Restricted Project
dmakogon committed rGf747cba68d36: [Test] Add more tests with min/max loop guards (NFC) (authored by dmakogon).
[Test] Add more tests with min/max loop guards (NFC)
Fri, Mar 3, 4:23 AM · Restricted Project, Restricted Project
dmakogon committed rG94b35eef4e18: [ScalarEvolution] Factor out RewriteMap utilities in applyLoopGuards (NFC) (authored by dmakogon).
[ScalarEvolution] Factor out RewriteMap utilities in applyLoopGuards (NFC)
Fri, Mar 3, 4:23 AM · Restricted Project, Restricted Project

Tue, Feb 28

dmakogon committed rG4e34915b6d27: [GuardWidening] Make sure widened condition operands are available at insertion… (authored by dmakogon).
[GuardWidening] Make sure widened condition operands are available at insertion…
Tue, Feb 28, 1:31 AM · Restricted Project, Restricted Project
dmakogon committed rG5ec368d7f4b9: [GuardWidening] Rename 'isAvailableAt' -> 'canBeHoistedTo' (NFC) (authored by dmakogon).
[GuardWidening] Rename 'isAvailableAt' -> 'canBeHoistedTo' (NFC)
Tue, Feb 28, 1:31 AM · Restricted Project, Restricted Project
dmakogon closed D144944: [GuardWidening] Make sure widened condition operands are available at insertion point.
Tue, Feb 28, 1:31 AM · Restricted Project, Restricted Project
dmakogon added inline comments to D144944: [GuardWidening] Make sure widened condition operands are available at insertion point.
Tue, Feb 28, 12:49 AM · Restricted Project, Restricted Project
dmakogon added a comment to D144944: [GuardWidening] Make sure widened condition operands are available at insertion point.

I think the naming here is extremely confusing and misleading. Can you pls rename isAvailableAt into something that better corresponds to its true semantics in a follow-up patch?

Tue, Feb 28, 12:40 AM · Restricted Project, Restricted Project
dmakogon added inline comments to D144944: [GuardWidening] Make sure widened condition operands are available at insertion point.
Tue, Feb 28, 12:39 AM · Restricted Project, Restricted Project
dmakogon updated the summary of D144944: [GuardWidening] Make sure widened condition operands are available at insertion point.
Tue, Feb 28, 12:30 AM · Restricted Project, Restricted Project
dmakogon updated the summary of D144944: [GuardWidening] Make sure widened condition operands are available at insertion point.
Tue, Feb 28, 12:21 AM · Restricted Project, Restricted Project
dmakogon requested review of D144944: [GuardWidening] Make sure widened condition operands are available at insertion point.
Tue, Feb 28, 12:21 AM · Restricted Project, Restricted Project
dmakogon committed rG10cee821202b: [Test] Add test exposing hoisting bug in GuardWidening (NFC) (authored by dmakogon).
[Test] Add test exposing hoisting bug in GuardWidening (NFC)
Tue, Feb 28, 12:09 AM · Restricted Project, Restricted Project

Feb 16 2023

dmakogon accepted D143259: [SCEV] Support umin/smin in SCEVLoopGuardRewriter.
Feb 16 2023, 2:17 AM · Restricted Project, Restricted Project
dmakogon added a comment to D143259: [SCEV] Support umin/smin in SCEVLoopGuardRewriter.

LGTM

Feb 16 2023, 2:17 AM · Restricted Project, Restricted Project

Feb 10 2023

dmakogon added a reverting change for rG4f772b095525: [LVI][CVP] Make use of condition known at use: rGc77c186a647b: [LVI] Don't traverse uses when calculating range at use.
Feb 10 2023, 2:09 AM · Restricted Project, Restricted Project
dmakogon added a reverting change for rG5c38c6a3aac4: [CVP] Handle use-site conditions in more folds: rGc77c186a647b: [LVI] Don't traverse uses when calculating range at use.
Feb 10 2023, 2:09 AM · Restricted Project, Restricted Project
dmakogon committed rGc77c186a647b: [LVI] Don't traverse uses when calculating range at use (authored by dmakogon).
[LVI] Don't traverse uses when calculating range at use
Feb 10 2023, 2:09 AM · Restricted Project, Restricted Project
dmakogon committed rG0737770c3e1d: [LVI][CVP] Add test for miscompilation by CVP due to incorrect range returned… (authored by dmakogon).
[LVI][CVP] Add test for miscompilation by CVP due to incorrect range returned…
Feb 10 2023, 2:09 AM · Restricted Project, Restricted Project
dmakogon added a reverting change for D141482: [LVI][CVP] Make use of condition known at use: rGc77c186a647b: [LVI] Don't traverse uses when calculating range at use.
Feb 10 2023, 2:09 AM · Restricted Project, Restricted Project

Jan 25 2023

dmakogon added inline comments to D137632: [LoopPredication] Widen checks if condition operands constant ranges are known.
Jan 25 2023, 7:29 AM · Restricted Project, Restricted Project
dmakogon updated the diff for D137632: [LoopPredication] Widen checks if condition operands constant ranges are known.

Rebase, address comments

Jan 25 2023, 7:24 AM · Restricted Project, Restricted Project

Dec 9 2022

dmakogon committed rGb1341191372a: [SimplifyCFG] Prohibit hoisting of llvm.deoptimize calls (authored by dmakogon).
[SimplifyCFG] Prohibit hoisting of llvm.deoptimize calls
Dec 9 2022, 2:45 AM · Restricted Project, Restricted Project
dmakogon committed rGa21e0ec724d3: [Test] Reduce deopt bundle in test with hoisted llvm.deoptimize call (authored by dmakogon).
[Test] Reduce deopt bundle in test with hoisted llvm.deoptimize call
Dec 9 2022, 2:45 AM · Restricted Project, Restricted Project
dmakogon closed D139437: [SimplifyCFG] Prohibit hoisting of llvm.deoptimize calls.
Dec 9 2022, 2:45 AM · Restricted Project, Restricted Project
dmakogon added inline comments to D139437: [SimplifyCFG] Prohibit hoisting of llvm.deoptimize calls.
Dec 9 2022, 2:45 AM · Restricted Project, Restricted Project

Dec 6 2022

dmakogon updated the diff for D139437: [SimplifyCFG] Prohibit hoisting of llvm.deoptimize calls.

Instead of prohibiting hoisting from deoptimize blocks, just disallow hoisiting of llvm.deoptimize calls

Dec 6 2022, 11:46 PM · Restricted Project, Restricted Project
dmakogon added reviewers for D139437: [SimplifyCFG] Prohibit hoisting of llvm.deoptimize calls: aeubanks, nikic, spatel, fhahn.
Dec 6 2022, 8:47 AM · Restricted Project, Restricted Project
dmakogon updated the summary of D139437: [SimplifyCFG] Prohibit hoisting of llvm.deoptimize calls.
Dec 6 2022, 8:36 AM · Restricted Project, Restricted Project
dmakogon requested review of D139437: [SimplifyCFG] Prohibit hoisting of llvm.deoptimize calls.
Dec 6 2022, 8:34 AM · Restricted Project, Restricted Project
dmakogon committed rGb70807b34058: [Test] Add test exposing crash in SimplifyCFG when hoisting llvm.deoptimize (authored by dmakogon).
[Test] Add test exposing crash in SimplifyCFG when hoisting llvm.deoptimize
Dec 6 2022, 8:18 AM · Restricted Project, Restricted Project

Nov 29 2022

dmakogon added inline comments to D137632: [LoopPredication] Widen checks if condition operands constant ranges are known.
Nov 29 2022, 12:21 AM · Restricted Project, Restricted Project
dmakogon updated the diff for D137632: [LoopPredication] Widen checks if condition operands constant ranges are known.

Addressed comments

Nov 29 2022, 12:12 AM · Restricted Project, Restricted Project
dmakogon committed rGa580d2e43040: [Test] Update tests for LoopPredication constant ranges widening (authored by dmakogon).
[Test] Update tests for LoopPredication constant ranges widening
Nov 29 2022, 12:09 AM · Restricted Project, Restricted Project

Nov 14 2022

dmakogon abandoned D134023: [InstCombine] Try to sink instructions into nearest common dominator of its users.
Nov 14 2022, 4:14 AM · Restricted Project, Restricted Project
dmakogon committed rG10ab29ec6eaf: [IRCE] Bail out if AddRec in icmp is for another loop (PR58912) (authored by dmakogon).
[IRCE] Bail out if AddRec in icmp is for another loop (PR58912)
Nov 14 2022, 12:12 AM · Restricted Project, Restricted Project
dmakogon closed D137822: [IRCE] Bail out if Start AddRec is for another loop.
Nov 14 2022, 12:12 AM · Restricted Project, Restricted Project
dmakogon updated the diff for D137822: [IRCE] Bail out if Start AddRec is for another loop.

Updated comment and test

Nov 14 2022, 12:04 AM · Restricted Project, Restricted Project

Nov 11 2022

dmakogon requested review of D137822: [IRCE] Bail out if Start AddRec is for another loop.
Nov 11 2022, 2:51 AM · Restricted Project, Restricted Project
dmakogon committed rGb1e9c4334e43: [Test] Add test for crash in IRCE when IV is AddRec for another loop (authored by dmakogon).
[Test] Add test for crash in IRCE when IV is AddRec for another loop
Nov 11 2022, 1:50 AM · Restricted Project, Restricted Project

Nov 8 2022

dmakogon requested review of D137632: [LoopPredication] Widen checks if condition operands constant ranges are known.
Nov 8 2022, 4:02 AM · Restricted Project, Restricted Project
dmakogon committed rG4b0fd43512ac: [Test] Add tests with range checks with known constant ranges (authored by dmakogon).
[Test] Add tests with range checks with known constant ranges
Nov 8 2022, 3:55 AM · Restricted Project, Restricted Project

Nov 7 2022

dmakogon committed rGebac59999f92: [SimpleLoopUnswitch] Skip trivial selects in guards conditions unswitch… (authored by dmakogon).
[SimpleLoopUnswitch] Skip trivial selects in guards conditions unswitch…
Nov 7 2022, 11:05 PM · Restricted Project, Restricted Project
dmakogon closed D137249: [SimpleLoopUnswitch] Skip trivial selects when adding guards conditions to unswitch candidates.
Nov 7 2022, 11:05 PM · Restricted Project, Restricted Project

Nov 3 2022

dmakogon updated the summary of D137249: [SimpleLoopUnswitch] Skip trivial selects when adding guards conditions to unswitch candidates.
Nov 3 2022, 3:47 AM · Restricted Project, Restricted Project
dmakogon retitled D137249: [SimpleLoopUnswitch] Skip trivial selects when adding guards conditions to unswitch candidates from [SimpleLoopUnswitch] Skip trivial selects when adding guards conditions as unswitch candidates to [SimpleLoopUnswitch] Skip trivial selects when adding guards conditions to unswitch candidates.
Nov 3 2022, 3:32 AM · Restricted Project, Restricted Project

Nov 2 2022

dmakogon requested review of D137249: [SimpleLoopUnswitch] Skip trivial selects when adding guards conditions to unswitch candidates.
Nov 2 2022, 6:15 AM · Restricted Project, Restricted Project
dmakogon committed rGdd927f47e78b: [Test] Add test exposing crash in SimpleLoopUnswitch (authored by dmakogon).
[Test] Add test exposing crash in SimpleLoopUnswitch
Nov 2 2022, 6:02 AM · Restricted Project, Restricted Project

Oct 7 2022

dmakogon committed rG8307f6c854b6: [LoopPredication] Insert assumes of conditions of predicated guards (authored by dmakogon).
[LoopPredication] Insert assumes of conditions of predicated guards
Oct 7 2022, 2:11 AM · Restricted Project, Restricted Project
dmakogon closed D135354: [LoopPredication] Insert assumes of conditions of predicated guards.
Oct 7 2022, 2:10 AM · Restricted Project, Restricted Project
dmakogon added inline comments to D135354: [LoopPredication] Insert assumes of conditions of predicated guards.
Oct 7 2022, 12:08 AM · Restricted Project, Restricted Project
dmakogon updated the diff for D135354: [LoopPredication] Insert assumes of conditions of predicated guards.

RecursivelyDeleteTriviallyDeadInstructions must be called anyway

Oct 7 2022, 12:03 AM · Restricted Project, Restricted Project

Oct 6 2022

dmakogon added a comment to D135354: [LoopPredication] Insert assumes of conditions of predicated guards.

Do you have an exact motivation test where another pass fails to deduct facts from the new condition?

Oct 6 2022, 10:32 PM · Restricted Project, Restricted Project
dmakogon updated the diff for D135354: [LoopPredication] Insert assumes of conditions of predicated guards.

Replaced llvm_unreachable with asserts

Oct 6 2022, 10:32 PM · Restricted Project, Restricted Project
dmakogon requested review of D135354: [LoopPredication] Insert assumes of conditions of predicated guards.
Oct 6 2022, 3:53 AM · Restricted Project, Restricted Project
dmakogon committed rG6474d7faeaa0: [Test] Add test showing missed branch elimination due to loop predication… (authored by dmakogon).
[Test] Add test showing missed branch elimination due to loop predication…
Oct 6 2022, 3:34 AM · Restricted Project, Restricted Project

Sep 19 2022

dmakogon requested review of D134178: [SCEV] Calculate PHI range based on its underlying values instead of just its inputs.
Sep 19 2022, 5:42 AM · Restricted Project, Restricted Project

Sep 16 2022

dmakogon requested review of D134023: [InstCombine] Try to sink instructions into nearest common dominator of its users.
Sep 16 2022, 1:12 AM · Restricted Project, Restricted Project
dmakogon committed rG7acc1f1fb119: [Test] Add tests showing instcombine sinking opportunity (NFC) (authored by dmakogon).
[Test] Add tests showing instcombine sinking opportunity (NFC)
Sep 16 2022, 1:07 AM · Restricted Project, Restricted Project

Aug 26 2022

dmakogon committed rG9142f67ef282: [SimplifyCFG] Don't widen cond br if false branch has successors (authored by dmakogon).
[SimplifyCFG] Don't widen cond br if false branch has successors
Aug 26 2022, 1:24 AM · Restricted Project, Restricted Project
dmakogon closed D132356: [SimplifyCFG] Don't widen cond br to cond br if false branch has successors.
Aug 26 2022, 1:24 AM · Restricted Project, Restricted Project

Aug 23 2022

dmakogon updated the diff for D132356: [SimplifyCFG] Don't widen cond br to cond br if false branch has successors.
Aug 23 2022, 1:11 AM · Restricted Project, Restricted Project
dmakogon updated the diff for D132356: [SimplifyCFG] Don't widen cond br to cond br if false branch has successors.

Hoisted the condition, added comments & updated test to not branch on undef but on a normal value

Aug 23 2022, 1:10 AM · Restricted Project, Restricted Project
dmakogon committed rG56b213090fdc: [NFC] Remove undef from xfailed SimplifyCFG test (authored by dmakogon).
[NFC] Remove undef from xfailed SimplifyCFG test
Aug 23 2022, 12:55 AM · Restricted Project, Restricted Project

Aug 22 2022

dmakogon added reviewers for D132356: [SimplifyCFG] Don't widen cond br to cond br if false branch has successors: reames, apilipenko, lebedev.ri, craig.topper.
Aug 22 2022, 1:56 AM · Restricted Project, Restricted Project
dmakogon requested review of D132356: [SimplifyCFG] Don't widen cond br to cond br if false branch has successors.
Aug 22 2022, 1:53 AM · Restricted Project, Restricted Project

May 13 2022

dmakogon committed rG1da42c9f71e4: [RS4GC] Cache BDVs and bases alogn with IsKnownBase flag (NFC) (authored by dmakogon).
[RS4GC] Cache BDVs and bases alogn with IsKnownBase flag (NFC)
May 13 2022, 12:21 AM · Restricted Project, Restricted Project
dmakogon closed D125000: [RS4GC] Cache BDVs and bases alogn with IsKnownBase flag (NFC).
May 13 2022, 12:21 AM · Restricted Project, Restricted Project

May 12 2022

dmakogon updated the diff for D125000: [RS4GC] Cache BDVs and bases alogn with IsKnownBase flag (NFC).

const qualifier in isKnownBase

May 12 2022, 3:09 AM · Restricted Project, Restricted Project
dmakogon updated the diff for D125000: [RS4GC] Cache BDVs and bases alogn with IsKnownBase flag (NFC).

Implemented caching in findBaseDefiningValue. Added a weak assert in setKnownBase - it checks if the key is already present in the map and if so fails the assert if trying to push a different value from the cached one.

May 12 2022, 3:06 AM · Restricted Project, Restricted Project

May 11 2022

dmakogon updated the diff for D125000: [RS4GC] Cache BDVs and bases alogn with IsKnownBase flag (NFC).

Removed BaseDefiningValueResult struct. Instead we now have a cache which stores whether a base or BDV is a known base.

May 11 2022, 4:45 AM · Restricted Project, Restricted Project
dmakogon 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 11 2022, 2:29 AM · Restricted Project, Restricted Project
dmakogon updated the diff for D125000: [RS4GC] Cache BDVs and bases alogn with IsKnownBase flag (NFC).

Removed comment with debug prints

May 11 2022, 2:18 AM · Restricted Project, Restricted Project

May 5 2022

dmakogon requested review of D125003: [RS4GC] Treat a value that has a single base and no derived inputs as base value.
May 5 2022, 4:45 AM · Restricted Project, Restricted Project
dmakogon requested review of D125000: [RS4GC] Cache BDVs and bases alogn with IsKnownBase flag (NFC).
May 5 2022, 3:49 AM · Restricted Project, Restricted Project

Apr 28 2022

dmakogon committed rGe9b4f2256a32: [RS4GC] Add tests showing cases in which we could find a better base (NFC) (authored by dmakogon).
[RS4GC] Add tests showing cases in which we could find a better base (NFC)
Apr 28 2022, 3:24 AM · Restricted Project, Restricted Project

Apr 27 2022

dmakogon planned changes to D123848: [RS4GC] Don't clone BDV if its inputs are not derived.
Apr 27 2022, 3:03 AM · Restricted Project, Restricted Project

Apr 26 2022

dmakogon updated the diff for D123848: [RS4GC] Don't clone BDV if its inputs are not derived.

Removed unnecessary comment in test case

Apr 26 2022, 8:50 AM · Restricted Project, Restricted Project
dmakogon updated the diff for D123848: [RS4GC] Don't clone BDV if its inputs are not derived.

Add more comments, update present ones.
Also there was a crash in lambda getBaseForInput. It relied on the old enum values. Fixed it.

Apr 26 2022, 8:01 AM · Restricted Project, Restricted Project
dmakogon committed rGd03d2d8aeaa3: [RS4GC] Prune inputs of BDV if they are BDV themselves (authored by dmakogon).
[RS4GC] Prune inputs of BDV if they are BDV themselves
Apr 26 2022, 2:06 AM · Restricted Project, Restricted Project
dmakogon closed D123846: [RS4GC] Prune inputs of BDV if they are BDV themselves.
Apr 26 2022, 2:05 AM · Restricted Project, Restricted Project

Apr 22 2022

dmakogon updated the diff for D123848: [RS4GC] Don't clone BDV if its inputs are not derived.

Added new enum values instead of the isDerived flag.

Apr 22 2022, 3:35 AM · Restricted Project, Restricted Project

Apr 20 2022

dmakogon planned changes to D123848: [RS4GC] Don't clone BDV if its inputs are not derived.
Apr 20 2022, 11:31 AM · Restricted Project, Restricted Project

Apr 19 2022

dmakogon updated the diff for D123846: [RS4GC] Prune inputs of BDV if they are BDV themselves.

Added more test cases with derived pointers.
Fixed comment message.

Apr 19 2022, 9:30 AM · Restricted Project, Restricted Project