Page MenuHomePhabricator

sfuniak (Stanislav Funiak)
User

Projects

User does not belong to any projects.

User Details

User Since
Aug 23 2021, 3:45 AM (91 w, 6 d)

Recent Activity

Jan 25 2023

sfuniak accepted D142406: [mlir:PDL] Set debug name for PDL match result patterns.

Looks good to me--a much needed improvement! However, someone with a more recent knowledge of PDL should review as well.

Jan 25 2023, 3:44 AM · Restricted Project, Restricted Project

Feb 3 2022

sfuniak requested changes to D118689: [MLIR][PDL] Execute nondeterministic bytecode & lower some PDLInterp ops.

As I mentioned in the previous diff on this stack, instead of implementing a new op ChooseRange, you should generalize ForEach. Also, GetItem is a duplicate of Extract.

Feb 3 2022, 4:33 AM · Restricted Project, Restricted Project
sfuniak added inline comments to D118683: [MLIR][PDL] Add optional attribute to enable commutativity in PDL.
Feb 3 2022, 4:16 AM · Restricted Project, Restricted Project
sfuniak added inline comments to D118684: [MLIR][PDLInterp] Define new ops in PDLInterp to support commutativity.
Feb 3 2022, 4:04 AM · Restricted Project, Restricted Project

Jan 3 2022

sfuniak updated the diff for D116082: [MLIR][PDL] Integration test of multi-root matching and related fixes..

Rebased.

Jan 3 2022, 6:31 PM · Restricted Project
sfuniak updated the diff for D116081: [MLIR][PDL] Make predicate order deterministic..

Rebased.

Jan 3 2022, 6:28 PM · Restricted Project
sfuniak updated the diff for D116080: [MLIR][PDL] Refactor the positions for multi-root patterns..

Rebased off main.

Jan 3 2022, 6:27 PM · Restricted Project
sfuniak updated the diff for D116084: [MLIR] Printing a null Value..

Rebased.

Jan 3 2022, 6:24 PM · Restricted Project
sfuniak updated the diff for D116083: [MLIR][PDL] Generalize result type verification.

Rebased.

Jan 3 2022, 6:23 PM · Restricted Project

Dec 22 2021

sfuniak updated the diff for D116084: [MLIR] Printing a null Value..

Check against impl directly

Dec 22 2021, 12:30 AM · Restricted Project

Dec 21 2021

sfuniak updated the diff for D116084: [MLIR] Printing a null Value..

Fix printing of null value in SSANameState::printValueID.

Dec 21 2021, 5:16 PM · Restricted Project
sfuniak updated the diff for D116082: [MLIR][PDL] Integration test of multi-root matching and related fixes..

Implemented a custom walk to determine the liveness range of an operation.

Dec 21 2021, 5:05 PM · Restricted Project
sfuniak added inline comments to D116082: [MLIR][PDL] Integration test of multi-root matching and related fixes..
Dec 21 2021, 4:29 PM · Restricted Project
sfuniak added inline comments to D116082: [MLIR][PDL] Integration test of multi-root matching and related fixes..
Dec 21 2021, 4:27 PM · Restricted Project
sfuniak updated the diff for D116081: [MLIR][PDL] Make predicate order deterministic..

Changed to 0-based indexing of the insertion order.

Dec 21 2021, 4:10 PM · Restricted Project
sfuniak updated the diff for D116080: [MLIR][PDL] Refactor the positions for multi-root patterns..

Incorporated review feedback.

Dec 21 2021, 4:02 PM · Restricted Project

Dec 20 2021

sfuniak requested review of D116084: [MLIR] Printing a null Value..
Dec 20 2021, 10:11 PM · Restricted Project
sfuniak requested review of D116083: [MLIR][PDL] Generalize result type verification.
Dec 20 2021, 10:03 PM · Restricted Project
sfuniak requested review of D116082: [MLIR][PDL] Integration test of multi-root matching and related fixes..
Dec 20 2021, 9:54 PM · Restricted Project
sfuniak requested review of D116081: [MLIR][PDL] Make predicate order deterministic..
Dec 20 2021, 9:52 PM · Restricted Project
sfuniak retitled D116080: [MLIR][PDL] Refactor the positions for multi-root patterns. from Refactor the positions for multi-root patterns. to [MLIR][PDL] Refactor the positions for multi-root patterns..
Dec 20 2021, 9:50 PM · Restricted Project
sfuniak requested review of D116080: [MLIR][PDL] Refactor the positions for multi-root patterns..
Dec 20 2021, 9:49 PM · Restricted Project
sfuniak requested review of D116079: [MLIR][PDL] Clear up the terminology in the root ordering graph..
Dec 20 2021, 9:46 PM · Restricted Project

Dec 1 2021

sfuniak updated the diff for D114745: Fixed a memory leak in the PDLToPDLInterp RootOrderingTest..

Add operations to a block to facilitate automatic deletion.

Dec 1 2021, 2:35 AM · Restricted Project

Nov 29 2021

sfuniak updated the diff for D114745: Fixed a memory leak in the PDLToPDLInterp RootOrderingTest..

Review feedback.

Nov 29 2021, 3:59 PM · Restricted Project
sfuniak added a comment to D114745: Fixed a memory leak in the PDLToPDLInterp RootOrderingTest..

It is a bit unusual to work with operations that aren't inserted in a block, I guess it works here...

Nov 29 2021, 3:53 PM · Restricted Project
sfuniak requested review of D114745: Fixed a memory leak in the PDLToPDLInterp RootOrderingTest..
Nov 29 2021, 3:03 PM · Restricted Project
sfuniak abandoned D114699: Fixed a memory leak in the PDLToPDLInterp RootOrderingTest..

Messed up a rebase, will submit a new diff.

Nov 29 2021, 2:48 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project
sfuniak updated the diff for D114699: Fixed a memory leak in the PDLToPDLInterp RootOrderingTest..

Review feedback.

Nov 29 2021, 2:46 PM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project
sfuniak requested review of D114699: Fixed a memory leak in the PDLToPDLInterp RootOrderingTest..
Nov 29 2021, 4:46 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project

Nov 27 2021

sfuniak added a comment to D108549: Implementation of the root ordering algorithm.

I am not able to reproduce the leak on Apple clang version 12.0.5 (running on M1). Will try on a different machine tomorrow.

Nov 27 2021, 4:58 AM · Restricted Project

Nov 26 2021

sfuniak added a comment to D114659: Fixed broken build under GCC 5.4..

@bondhugula I am not sure, but I built this with GCC 5.4 myself. The code compiled, and all the tests passed.

Nov 26 2021, 7:48 PM · Restricted Project
sfuniak requested review of D114659: Fixed broken build under GCC 5.4..
Nov 26 2021, 6:13 PM · Restricted Project
sfuniak added a comment to D108550: Multi-root PDL matching using upward traversals..

@mehdi_amini thanks for bringing this up; I will take a look.

Nov 26 2021, 3:08 PM · Restricted Project

Nov 25 2021

sfuniak updated the diff for D114061: Added line numbers to the debug output of PDL bytecode..

Rebased.

Nov 25 2021, 9:47 PM · Restricted Project
sfuniak updated the diff for D108550: Multi-root PDL matching using upward traversals..

Rebased.

Nov 25 2021, 9:46 PM · Restricted Project
sfuniak updated the diff for D108549: Implementation of the root ordering algorithm.

Rebased.

Nov 25 2021, 9:46 PM · Restricted Project
sfuniak updated the diff for D108547: Introduced iterative bytecode execution..

Minor cleanups.

Nov 25 2021, 9:46 PM · Restricted Project
sfuniak updated the diff for D108543: Defines new PDLInterp operations needed for multi-root matching in PDL..

Minor cleanup.

Nov 25 2021, 9:45 PM · Restricted Project
sfuniak updated the diff for D114061: Added line numbers to the debug output of PDL bytecode..

Added comment.

Nov 25 2021, 9:14 PM · Restricted Project
sfuniak updated the diff for D108550: Multi-root PDL matching using upward traversals..

Switch from pdl_interp.get_value to pdl_interp.extract.

Nov 25 2021, 9:13 PM · Restricted Project
sfuniak updated the diff for D108549: Implementation of the root ordering algorithm.

Rebased.

Nov 25 2021, 9:13 PM · Restricted Project
sfuniak updated the diff for D108547: Introduced iterative bytecode execution..

Implemented pdl_interp.extract.

Nov 25 2021, 9:12 PM · Restricted Project
sfuniak updated the diff for D108543: Defines new PDLInterp operations needed for multi-root matching in PDL..

Generalized pdl_interp.get_value to pdl_interp.extract

Nov 25 2021, 9:11 PM · Restricted Project

Nov 24 2021

sfuniak added inline comments to D108543: Defines new PDLInterp operations needed for multi-root matching in PDL..
Nov 24 2021, 2:49 PM · Restricted Project

Nov 22 2021

sfuniak added a comment to D108543: Defines new PDLInterp operations needed for multi-root matching in PDL..

@rriddle I hope that my latest update addresses your concerns.

Nov 22 2021, 3:15 AM · Restricted Project
sfuniak updated the diff for D114061: Added line numbers to the debug output of PDL bytecode..

Rebased.

Nov 22 2021, 3:11 AM · Restricted Project
sfuniak updated the diff for D108550: Multi-root PDL matching using upward traversals..

Use pdl_interp.get_value for upward traversal of value ranges.

Nov 22 2021, 3:09 AM · Restricted Project
sfuniak updated the diff for D108549: Implementation of the root ordering algorithm.

Rebased.

Nov 22 2021, 3:08 AM · Restricted Project
sfuniak updated the diff for D108547: Introduced iterative bytecode execution..

Fixed the semantics of get_users for value range and implemented pdl_interp.get_value.

Nov 22 2021, 3:07 AM · Restricted Project
sfuniak updated the diff for D108543: Defines new PDLInterp operations needed for multi-root matching in PDL..

Fixed the comments.

Nov 22 2021, 3:05 AM · Restricted Project
sfuniak updated the diff for D108543: Defines new PDLInterp operations needed for multi-root matching in PDL..

Updated semantics of pdl_interp.get_users to return all users for a value range.
Added pdl_interp.get_value operation for extracting value with given index from a range.

Nov 22 2021, 3:01 AM · Restricted Project

Nov 21 2021

sfuniak added a comment to D108543: Defines new PDLInterp operations needed for multi-root matching in PDL..

On the second thought, the two operations (pdl_interp.get_defining_op and pdl_interp.get_users) are not symmetric. And I do see value in mimicking c++ API. I will make the change requested.

Nov 21 2021, 6:44 PM · Restricted Project
sfuniak added a comment to D108543: Defines new PDLInterp operations needed for multi-root matching in PDL..

Also, as much as I understand that we are defining this new op based on a limited use case, under what circumstances would we want to return all the users of a range? In PDL, the range of values will always show up together as operands, so returning the users of a representative seems just fine.

Nov 21 2021, 3:55 PM · Restricted Project
sfuniak added a comment to D108543: Defines new PDLInterp operations needed for multi-root matching in PDL..

@rriddle I am happy to make pdl_interp.get_users return all users for a range to match the ResultRange behavior (and updating the PDL-to-PDLInterp lowering). But aren't we equally worried about the inconsistency of pdl_interp.get_defining_op and pdl_interp.get_users? And does this mean I need to introduce another operation to extract the value from a list?

Nov 21 2021, 3:43 PM · Restricted Project
sfuniak updated the diff for D114061: Added line numbers to the debug output of PDL bytecode..

Extract the previous code iterator manually.

Nov 21 2021, 3:18 PM · Restricted Project
sfuniak added inline comments to D108543: Defines new PDLInterp operations needed for multi-root matching in PDL..
Nov 21 2021, 3:02 PM · Restricted Project
sfuniak added inline comments to D108547: Introduced iterative bytecode execution..
Nov 21 2021, 2:54 PM · Restricted Project

Nov 18 2021

sfuniak updated the diff for D114061: Added line numbers to the debug output of PDL bytecode..

Print location instead of line numbers.

Nov 18 2021, 8:20 PM · Restricted Project
sfuniak updated the diff for D108550: Multi-root PDL matching using upward traversals..

Updated code to simplified pdl_interp.get_users.

Nov 18 2021, 8:17 PM · Restricted Project
sfuniak updated the diff for D108549: Implementation of the root ordering algorithm.

Rebased.

Nov 18 2021, 8:16 PM · Restricted Project
sfuniak updated the diff for D108547: Introduced iterative bytecode execution..

Simplified GetUsers.

Nov 18 2021, 8:15 PM · Restricted Project
sfuniak updated the diff for D108543: Defines new PDLInterp operations needed for multi-root matching in PDL..

Fixed English mistake.

Nov 18 2021, 8:13 PM · Restricted Project
sfuniak updated the diff for D108543: Defines new PDLInterp operations needed for multi-root matching in PDL..

Simplified pdl_interp.get_users.

Nov 18 2021, 8:11 PM · Restricted Project
sfuniak added inline comments to D108550: Multi-root PDL matching using upward traversals..
Nov 18 2021, 5:06 PM · Restricted Project
sfuniak added inline comments to D114061: Added line numbers to the debug output of PDL bytecode..
Nov 18 2021, 2:56 PM · Restricted Project
sfuniak added inline comments to D108543: Defines new PDLInterp operations needed for multi-root matching in PDL..
Nov 18 2021, 2:44 PM · Restricted Project
sfuniak updated the diff for D108547: Introduced iterative bytecode execution..

Split GetUsers into GetUsersAll and GetUsersAt.

Nov 18 2021, 4:17 AM · Restricted Project
sfuniak added a comment to D108547: Introduced iterative bytecode execution..

There are two places where we do an extra traversal: 1) when verifying the PDL pattern (checking for connectivity), and 2) when forming the predicate tree (detecting the roots). Both are O(E), where E is the total number of operands across all the operations in the PDL pattern -- hardly an expensive operation. Just to be sure, I did a barebones test, where I took 100 copies of test/Conversion/PDLToPDLInterp/pdl-to-pdl-interp-matcher.mlir concatenated together, and ran mlir-opt -split-input-file -convert-pdl-to-pdl-interp > /dev/null on the resulting file. The runtime of my version and the baseline version of mlir-opt were the same.

Nov 18 2021, 2:56 AM · Restricted Project

Nov 16 2021

sfuniak requested review of D114061: Added line numbers to the debug output of PDL bytecode..
Nov 16 2021, 10:59 PM · Restricted Project
sfuniak updated the diff for D108550: Multi-root PDL matching using upward traversals..

Rebased

Nov 16 2021, 10:44 PM · Restricted Project
sfuniak updated the diff for D108549: Implementation of the root ordering algorithm.

Rebased.

Nov 16 2021, 10:42 PM · Restricted Project
sfuniak updated the diff for D108547: Introduced iterative bytecode execution..

Split out the debug functionality & further review feedback.

Nov 16 2021, 10:28 PM · Restricted Project
sfuniak added inline comments to D108547: Introduced iterative bytecode execution..
Nov 16 2021, 10:28 PM · Restricted Project

Nov 14 2021

sfuniak added a comment to D108547: Introduced iterative bytecode execution..

Gentle ping, @rriddle @mehdi_amini

Nov 14 2021, 9:01 PM · Restricted Project

Nov 5 2021

sfuniak added a comment to D108547: Introduced iterative bytecode execution..

@rriddle: This is the last remaining diff. If you can re-review it whenever you are free, that would be greatly appreciated. Then we can land all 4 and iterate. Thank you!

Nov 5 2021, 12:47 AM · Restricted Project

Nov 4 2021

sfuniak updated the diff for D108550: Multi-root PDL matching using upward traversals..

Final review feedback; also fixed the connected component checking code.

Nov 4 2021, 9:52 PM · Restricted Project
sfuniak updated the diff for D108549: Implementation of the root ordering algorithm.

Rebased.

Nov 4 2021, 9:51 PM · Restricted Project
sfuniak updated the diff for D108547: Introduced iterative bytecode execution..

Updated comment with the IntervalMap fix.

Nov 4 2021, 9:50 PM · Restricted Project
sfuniak updated the diff for D108543: Defines new PDLInterp operations needed for multi-root matching in PDL..

Replaced ForEachOp::create with a custom builder.

Nov 4 2021, 9:48 PM · Restricted Project
sfuniak updated the diff for D113240: Move constructor for IntervalMap..

Ran clang-format.

Nov 4 2021, 9:22 PM · Restricted Project
sfuniak requested review of D113240: Move constructor for IntervalMap..
Nov 4 2021, 9:21 PM · Restricted Project

Oct 22 2021

sfuniak added inline comments to D108547: Introduced iterative bytecode execution..
Oct 22 2021, 5:10 AM · Restricted Project

Oct 20 2021

sfuniak updated the diff for D108550: Multi-root PDL matching using upward traversals..

Addressed review feedback.

Oct 20 2021, 5:43 AM · Restricted Project
sfuniak updated the diff for D108549: Implementation of the root ordering algorithm.

Addressed review feedback.

Oct 20 2021, 5:41 AM · Restricted Project
sfuniak updated the diff for D108547: Introduced iterative bytecode execution..

Attempt to fix a rebase problem.

Oct 20 2021, 5:37 AM · Restricted Project
sfuniak added a comment to D108547: Introduced iterative bytecode execution..

I am sorry, I am not sure why my recent changes to PDLInterps files are showing up here. It's as if the base commit was not set right. I did update the stack diff #1. Any ideas?

Oct 20 2021, 5:26 AM · Restricted Project
sfuniak updated the diff for D108547: Introduced iterative bytecode execution..

Addressed review feedback and made further improvements:

  1. Fixed the insertion point on pdl_interp.create_operation.
  2. Fixed the implementation of pdl_interp.get_users to match its semantics specified in stacked diff #1.
  3. Eliminated the extra map storing the block for each instruction address. Instead, we store the line number of the instruction directly in the bytecode when debug messages are turned on.
  4. pdl_interp.foreach no longer consumes the range being iterated over. Instead, we store the index into the range and update this index every time we call pdl_interp.continue.
  5. PDLByteCodeMutableState::opRangeMemory now stores an owning reference to each range.
  6. Improved unit tests coverage.
Oct 20 2021, 5:16 AM · Restricted Project
sfuniak updated the diff for D108543: Defines new PDLInterp operations needed for multi-root matching in PDL..

Cleaned up the semantics of pdl_interp.get_users for range of values.

Oct 20 2021, 4:55 AM · Restricted Project

Oct 18 2021

sfuniak added inline comments to D108550: Multi-root PDL matching using upward traversals..
Oct 18 2021, 4:29 AM · Restricted Project

Oct 17 2021

sfuniak added inline comments to D108549: Implementation of the root ordering algorithm.
Oct 17 2021, 5:24 PM · Restricted Project

Oct 14 2021

sfuniak added inline comments to D108547: Introduced iterative bytecode execution..
Oct 14 2021, 10:15 PM · Restricted Project
sfuniak added inline comments to D108547: Introduced iterative bytecode execution..
Oct 14 2021, 10:03 PM · Restricted Project

Oct 12 2021

sfuniak added a comment to D108547: Introduced iterative bytecode execution..

General question: what's the cost if I never use multi-root patterns?

Oct 12 2021, 10:50 PM · Restricted Project
sfuniak added inline comments to D108547: Introduced iterative bytecode execution..
Oct 12 2021, 7:42 PM · Restricted Project
sfuniak added inline comments to D108543: Defines new PDLInterp operations needed for multi-root matching in PDL..
Oct 12 2021, 4:22 PM · Restricted Project
sfuniak added a comment to D108549: Implementation of the root ordering algorithm.

Thanks, I will make the changes suggested.

Oct 12 2021, 4:06 PM · Restricted Project
sfuniak added a comment to D108550: Multi-root PDL matching using upward traversals..

Thank you for the review @rriddle. Will submit an update later today.

Oct 12 2021, 3:49 PM · Restricted Project

Oct 10 2021

sfuniak updated the diff for D108550: Multi-root PDL matching using upward traversals..

Migrated to pdl_interp.foreach and autodetecting roots

Oct 10 2021, 8:53 PM · Restricted Project
sfuniak updated the diff for D108549: Implementation of the root ordering algorithm.

Addressed review feedback.

Oct 10 2021, 8:47 PM · Restricted Project