Page MenuHomePhabricator

DaniilSuchkov (Daniil Suchkov)
User

Projects

User does not belong to any projects.

User Details

User Since
Sep 5 2017, 3:03 AM (106 w, 4 d)

Recent Activity

Jul 9 2019

DaniilSuchkov updated the summary of D64404: [SimpleLoopUnswitch] Don't consider unswitching `switch` insructions with one unique successor.
Jul 9 2019, 11:17 PM · Restricted Project
DaniilSuchkov updated the diff for D64404: [SimpleLoopUnswitch] Don't consider unswitching `switch` insructions with one unique successor.

Addressed Serguei's comment. Serguei, could you please submit this patch? I don't have permissions to submit patches yet.

Jul 9 2019, 11:17 PM · Restricted Project
DaniilSuchkov added a comment to D64403: [SimpleLoopUnswitch] Add a test case exposing a bug.

@skatkov, could you please submit this patch? I don't have permissions to submit patches yet.

Jul 9 2019, 10:49 PM · Restricted Project
DaniilSuchkov added a reviewer for D64404: [SimpleLoopUnswitch] Don't consider unswitching `switch` insructions with one unique successor: skatkov.
Jul 9 2019, 10:44 PM · Restricted Project
DaniilSuchkov added a reviewer for D64403: [SimpleLoopUnswitch] Add a test case exposing a bug: skatkov.
Jul 9 2019, 10:44 PM · Restricted Project
DaniilSuchkov added a parent revision for D64404: [SimpleLoopUnswitch] Don't consider unswitching `switch` insructions with one unique successor: D64403: [SimpleLoopUnswitch] Add a test case exposing a bug.
Jul 9 2019, 4:56 AM · Restricted Project
DaniilSuchkov created D64404: [SimpleLoopUnswitch] Don't consider unswitching `switch` insructions with one unique successor.
Jul 9 2019, 4:56 AM · Restricted Project
DaniilSuchkov added a child revision for D64403: [SimpleLoopUnswitch] Add a test case exposing a bug: D64404: [SimpleLoopUnswitch] Don't consider unswitching `switch` insructions with one unique successor.
Jul 9 2019, 4:56 AM · Restricted Project
DaniilSuchkov created D64403: [SimpleLoopUnswitch] Add a test case exposing a bug.
Jul 9 2019, 4:51 AM · Restricted Project
DaniilSuchkov abandoned D57103: [RS4GC] Support vectors of pointers with scalar base pointer.
Jul 9 2019, 4:45 AM

Jan 23 2019

DaniilSuchkov created D57103: [RS4GC] Support vectors of pointers with scalar base pointer.
Jan 23 2019, 9:55 AM

Sep 14 2018

DaniilSuchkov added a comment to rL342148: Renovate CMake files in the `llvm-(cfi-verify|exegesis|mca)` tools..

Hi Richard!

Sep 14 2018, 1:43 AM

Jun 5 2018

DaniilSuchkov accepted D47441: SafepointIRVerifier should ignore dead blocks and dead edges.

LGTM

Jun 5 2018, 5:07 AM

Jun 1 2018

DaniilSuchkov added inline comments to D47441: SafepointIRVerifier should ignore dead blocks and dead edges.
Jun 1 2018, 2:03 AM

May 17 2018

DaniilSuchkov added a comment to D47011: SafepointIRVerifier is made unreachable block tolerant.

Without this patch following code leads to a crash

entry:
ptr = getPtr()
br exit
May 17 2018, 10:42 AM

Jan 29 2018

DaniilSuchkov added a comment to D42653: [RS4GC] Handle call/invoke instructions as base defining values of vectors.

I wonder is it possible to handle this two instructions, GEPs, bitcasts, loads, and other in findBaseDefiningValue to avoid code duplication and such oversights?

Jan 29 2018, 10:20 PM

Dec 22 2017

DaniilSuchkov updated the diff for D41006: [SafepointIRVerifier] Allow non-dereferencing uses of unrelocated or poisoned PHI nodes.

Added some new comments.

Dec 22 2017, 1:51 AM

Dec 21 2017

DaniilSuchkov added inline comments to D41006: [SafepointIRVerifier] Allow non-dereferencing uses of unrelocated or poisoned PHI nodes.
Dec 21 2017, 9:43 AM

Dec 19 2017

DaniilSuchkov updated the diff for D41006: [SafepointIRVerifier] Allow non-dereferencing uses of unrelocated or poisoned PHI nodes.

"merge" now replaced with "derive" in comments, example in FIXME become a bit less confusing, added new test (with XFAIL) for that FIXME.

Dec 19 2017, 4:35 AM
DaniilSuchkov added inline comments to D41006: [SafepointIRVerifier] Allow non-dereferencing uses of unrelocated or poisoned PHI nodes.
Dec 19 2017, 3:26 AM

Dec 11 2017

DaniilSuchkov added inline comments to D41006: [SafepointIRVerifier] Allow non-dereferencing uses of unrelocated or poisoned PHI nodes.
Dec 11 2017, 10:30 PM
DaniilSuchkov updated the diff for D41006: [SafepointIRVerifier] Allow non-dereferencing uses of unrelocated or poisoned PHI nodes.

Comments slightly clarified.

Dec 11 2017, 10:30 PM

Dec 9 2017

DaniilSuchkov added inline comments to D41006: [SafepointIRVerifier] Allow non-dereferencing uses of unrelocated or poisoned PHI nodes.
Dec 9 2017, 5:18 AM

Dec 8 2017

DaniilSuchkov added a parent revision for D41006: [SafepointIRVerifier] Allow non-dereferencing uses of unrelocated or poisoned PHI nodes: D40885: [NFC] Refactor SafepointIRVerifier.
Dec 8 2017, 6:28 AM
DaniilSuchkov added a child revision for D40885: [NFC] Refactor SafepointIRVerifier: D41006: [SafepointIRVerifier] Allow non-dereferencing uses of unrelocated or poisoned PHI nodes.
Dec 8 2017, 6:28 AM
DaniilSuchkov created D41006: [SafepointIRVerifier] Allow non-dereferencing uses of unrelocated or poisoned PHI nodes.
Dec 8 2017, 6:28 AM
DaniilSuchkov added inline comments to D40885: [NFC] Refactor SafepointIRVerifier.
Dec 8 2017, 4:02 AM
DaniilSuchkov added a child revision for D41002: [NFC][SafepointIRVerifier] Add alias for set of available values: D40885: [NFC] Refactor SafepointIRVerifier.
Dec 8 2017, 4:02 AM
DaniilSuchkov added a parent revision for D40885: [NFC] Refactor SafepointIRVerifier: D41002: [NFC][SafepointIRVerifier] Add alias for set of available values.
Dec 8 2017, 4:02 AM
DaniilSuchkov updated the diff for D40885: [NFC] Refactor SafepointIRVerifier.
Dec 8 2017, 4:01 AM
DaniilSuchkov added inline comments to D40885: [NFC] Refactor SafepointIRVerifier.
Dec 8 2017, 3:10 AM
DaniilSuchkov created D41002: [NFC][SafepointIRVerifier] Add alias for set of available values.
Dec 8 2017, 3:07 AM

Dec 6 2017

DaniilSuchkov created D40885: [NFC] Refactor SafepointIRVerifier.
Dec 6 2017, 1:48 AM

Dec 4 2017

DaniilSuchkov updated the diff for D40289: [SafepointIRVerifier] Allow deriving pointers from unrelocated base.

Corrected the comment.

Dec 4 2017, 1:52 AM

Dec 1 2017

DaniilSuchkov updated the diff for D40289: [SafepointIRVerifier] Allow deriving pointers from unrelocated base.

Amended some comments, replaced lambda's wildcard capture list with explicit one, made isNotExclusivelyConstantDerived static function (to use it in lambdas without capturing).

Dec 1 2017, 9:28 AM
DaniilSuchkov added inline comments to D40289: [SafepointIRVerifier] Allow deriving pointers from unrelocated base.
Dec 1 2017, 7:25 AM

Nov 30 2017

DaniilSuchkov updated the diff for D40289: [SafepointIRVerifier] Allow deriving pointers from unrelocated base.

Now the branch where valid defs of unrelocated pointers are skipped is the first one.

Nov 30 2017, 3:12 AM
DaniilSuchkov updated the diff for D40289: [SafepointIRVerifier] Allow deriving pointers from unrelocated base.
Nov 30 2017, 12:49 AM
DaniilSuchkov updated the diff for D40289: [SafepointIRVerifier] Allow deriving pointers from unrelocated base.

Comments addressed.

Nov 30 2017, 12:15 AM
DaniilSuchkov added inline comments to D40289: [SafepointIRVerifier] Allow deriving pointers from unrelocated base.
Nov 30 2017, 12:14 AM

Nov 29 2017

DaniilSuchkov updated the diff for D40289: [SafepointIRVerifier] Allow deriving pointers from unrelocated base.

Changed order of the verification traversal to RPO.

Nov 29 2017, 6:28 AM
DaniilSuchkov updated the diff for D40289: [SafepointIRVerifier] Allow deriving pointers from unrelocated base.

Algorithm rewritten, new tests added.

Nov 29 2017, 3:34 AM

Nov 23 2017

DaniilSuchkov planned changes to D40289: [SafepointIRVerifier] Allow deriving pointers from unrelocated base.

One crash was found during testing.

Nov 23 2017, 6:06 AM

Nov 22 2017

DaniilSuchkov updated the diff for D40289: [SafepointIRVerifier] Allow deriving pointers from unrelocated base.

Add message to assert.

Nov 22 2017, 4:21 AM
DaniilSuchkov updated the diff for D40289: [SafepointIRVerifier] Allow deriving pointers from unrelocated base.

Made logic around getImmediateBasePointer/isDerivedPointerDef more consistent.

Nov 22 2017, 4:04 AM
DaniilSuchkov updated the diff for D40289: [SafepointIRVerifier] Allow deriving pointers from unrelocated base.

All tests now have comments, one redundant test removed, one new added. getBasePointer now works more correctly and getImmediateBase now is the only place where we need to specify which instructions can produce derived pointers.

Nov 22 2017, 2:50 AM

Nov 21 2017

DaniilSuchkov added a reviewer for D40289: [SafepointIRVerifier] Allow deriving pointers from unrelocated base: mkazantsev.
Nov 21 2017, 8:56 PM
DaniilSuchkov created D40289: [SafepointIRVerifier] Allow deriving pointers from unrelocated base.
Nov 21 2017, 1:44 AM

Oct 19 2017

DaniilSuchkov updated the diff for D39113: Add test case for LoopSink pass.
Oct 19 2017, 11:12 PM
DaniilSuchkov created D39113: Add test case for LoopSink pass.
Oct 19 2017, 11:07 PM
DaniilSuchkov added a comment to D35989: [SCEV][NFC] Introduces expression sizes estimation.

I've done clang bootstrap with this patch and gathered SCEV statistics: maximum number of SCEVs alive simultaneously is 209373; assuming sizeof(unsigned)==4 it's ~0.8MiB overhead.

Oct 19 2017, 4:51 AM

Oct 6 2017

DaniilSuchkov added a comment to D38392: Disallow sinking of unordered atomic loads into loops.

Ping

Oct 6 2017, 4:22 AM

Oct 5 2017

DaniilSuchkov added inline comments to D38392: Disallow sinking of unordered atomic loads into loops.
Oct 5 2017, 10:06 PM

Oct 3 2017

DaniilSuchkov updated the diff for D38392: Disallow sinking of unordered atomic loads into loops.

Now sinking of unordered atomic loads from constant/invariant memory is allowed, corresponding test case added.
I am going to expose SafetyInfo in follow up patch.

Oct 3 2017, 3:10 AM

Sep 29 2017

DaniilSuchkov created D38392: Disallow sinking of unordered atomic loads into loops.
Sep 29 2017, 1:57 AM

Sep 7 2017

DaniilSuchkov added a comment to D37463: Fix miscompile in LoopSink pass.

LoopSink uses canSinkOrHoistInst from LICM to check whether instruction can be sunk or not. This check rejects all loads with isUnordered() == true (see http://llvm.org/docs/Atomics.html#atomics-and-ir-optimization). It looks like "unordered" atomics are handled in a right way: they are never sunk into loops.

Sep 7 2017, 11:10 PM

Sep 6 2017

DaniilSuchkov abandoned D37463: Fix miscompile in LoopSink pass.

Actually the answer is here: https://llvm.org/docs/Atomics.html#notatomic

Sep 6 2017, 3:11 AM

Sep 5 2017

DaniilSuchkov added a comment to D37463: Fix miscompile in LoopSink pass.
  • not sure why SafetyInfo would help identify the potential data race here
Sep 5 2017, 9:31 PM
DaniilSuchkov created D37463: Fix miscompile in LoopSink pass.
Sep 5 2017, 3:38 AM