Page MenuHomePhabricator

sfuniak (Stanislav Funiak)
User

Projects

User does not belong to any projects.

User Details

User Since
Aug 23 2021, 3:45 AM (14 w, 1 d)

Recent Activity

Yesterday

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

Review feedback.

Mon, Nov 29, 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...

Mon, Nov 29, 3:53 PM · Restricted Project
sfuniak requested review of D114745: Fixed a memory leak in the PDLToPDLInterp RootOrderingTest..
Mon, Nov 29, 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.

Mon, Nov 29, 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.

Mon, Nov 29, 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..
Mon, Nov 29, 4:46 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project, Restricted Project

Sat, Nov 27

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.

Sat, Nov 27, 4:58 AM · Restricted Project

Fri, Nov 26

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.

Fri, Nov 26, 7:48 PM · Restricted Project
sfuniak requested review of D114659: Fixed broken build under GCC 5.4..
Fri, Nov 26, 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.

Fri, Nov 26, 3:08 PM · Restricted Project

Thu, Nov 25

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

Rebased.

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

Rebased.

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

Rebased.

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

Minor cleanups.

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

Minor cleanup.

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

Added comment.

Thu, Nov 25, 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.

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

Rebased.

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

Implemented pdl_interp.extract.

Thu, Nov 25, 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

Thu, Nov 25, 9:11 PM · Restricted Project

Wed, Nov 24

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

Mon, Nov 22

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.

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

Rebased.

Mon, Nov 22, 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.

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

Rebased.

Mon, Nov 22, 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.

Mon, Nov 22, 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.

Mon, Nov 22, 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.

Mon, Nov 22, 3:01 AM · Restricted Project

Sun, Nov 21

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.

Sun, Nov 21, 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.

Sun, Nov 21, 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 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?

Sun, Nov 21, 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.

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

Thu, Nov 18

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

Print location instead of line numbers.

Thu, Nov 18, 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.

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

Rebased.

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

Simplified GetUsers.

Thu, Nov 18, 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.

Thu, Nov 18, 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.

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

Split GetUsers into GetUsersAll and GetUsersAt.

Thu, Nov 18, 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.

Thu, Nov 18, 2:56 AM · Restricted Project

Tue, Nov 16

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

Rebased

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

Rebased.

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

Split out the debug functionality & further review feedback.

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

Sun, Nov 14

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

Gentle ping, @rriddle @mehdi_amini

Sun, Nov 14, 9:01 PM · Restricted Project

Fri, Nov 5

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!

Fri, Nov 5, 12:47 AM · Restricted Project

Thu, Nov 4

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

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

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

Rebased.

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

Updated comment with the IntervalMap fix.

Thu, Nov 4, 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.

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

Ran clang-format.

Thu, Nov 4, 9:22 PM · Restricted Project
sfuniak requested review of D113240: Move constructor for IntervalMap..
Thu, Nov 4, 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
sfuniak updated the diff for D108547: Introduced iterative bytecode execution..

Made PDL ByteCode work with the new pdl_interp.foreach region.

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

Implemented a pdl_interp.foreach operation.

Oct 10 2021, 8:39 PM · Restricted Project

Sep 27 2021

sfuniak added inline comments to D108550: Multi-root PDL matching using upward traversals..
Sep 27 2021, 4:24 AM · Restricted Project
sfuniak added a comment to D108543: Defines new PDLInterp operations needed for multi-root matching in PDL..

Thank you for your feedback @rriddle. I will update the diff. Are you okay with moving the "body" of the loop to a region to promote better readability?

Sep 27 2021, 4:16 AM · Restricted Project

Aug 23 2021

sfuniak requested review of D108550: Multi-root PDL matching using upward traversals..
Aug 23 2021, 5:58 AM · Restricted Project
sfuniak requested review of D108549: Implementation of the root ordering algorithm.
Aug 23 2021, 5:31 AM · Restricted Project
sfuniak requested review of D108547: Introduced iterative bytecode execution..
Aug 23 2021, 5:19 AM · Restricted Project
sfuniak updated the summary of D108543: Defines new PDLInterp operations needed for multi-root matching in PDL..
Aug 23 2021, 5:11 AM · Restricted Project
sfuniak requested review of D108543: Defines new PDLInterp operations needed for multi-root matching in PDL..
Aug 23 2021, 5:02 AM · Restricted Project