diff options
| author | Stanislav Funiak <stano@cerebras.net> | 2021-11-26 17:57:30 +0530 |
|---|---|---|
| committer | Uday Bondhugula <uday@polymagelabs.com> | 2021-11-26 17:59:22 +0530 |
| commit | 842b6861c01cc6961f170d58332ecf0fb0232441 (patch) | |
| tree | 7776c4ce4f94a23ded62eefb83a5818a7e93afb4 /lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp | |
| parent | 632acec73776c4d6f7073d6de04ed6b8bfd36e6d (diff) | |
Defines new PDLInterp operations needed for multi-root matching in PDL.
This is commit 1 of 4 for the multi-root matching in PDL, discussed in https://llvm.discourse.group/t/rfc-multi-root-pdl-patterns-for-kernel-matching/4148 (topic flagged for review).
These operations are:
* pdl.get_accepting_ops: Returns a list of operations accepting the given value or a range of values at the specified position. Thus if there are two operations `%op1 = "foo"(%val)` and `%op2 = "bar"(%val)` accepting a value at position 0, `%ops = pdl_interp.get_accepting_ops of %val : !pdl.value at 0` will return both of them. This allows us to traverse upwards from a value to operations accepting the value.
* pdl.choose_op: Iteratively chooses one operation from a range of operations. Therefore, writing `%op = pdl_interp.choose_op from %ops` in the example above will select either `%op1`or `%op2`.
Testing: Added the corresponding test cases to mlir/test/Dialect/PDLInterp/ops.mlir.
Reviewed By: rriddle
Differential Revision: https://reviews.llvm.org/D108543
Diffstat (limited to 'lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp')
0 files changed, 0 insertions, 0 deletions
