-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Substrait] Implement simple extensions. (iree-org/iree-llvm-sandbox#853
) This is a mechanism of Substrait to define functions and types external to the core specification. This PR models the declarations as `Symbol`s and references to them as symbol references in MLIR, which allows to use MLIR tooling around symbols (such as `SymbolTable`s, iterating over symbol uses, code navigation via the LSP server, etc.). The PR does not yet implement a mechanism to use the functions and types, which subsequent PRs for `ScalarFunction` and similar are going to do. In the meantime, `main` contains tests that used `func.call` ops to prevent further pattern application. This breaks with this PR, which makes `plan`s a `SymbolTable`, which become the closest symbol table of the `func.call`s, such that those symbols cannot be found anymore. As a solution, this PR also changes the unit tests to use an opaque op from an unregistered dialect. While touching the `PlanOp`-related test cases, this op also merges the tests of that op, which were previously split into a "simple" and a "version" file, which probably predates the possibility to tell `mlir-translate` (and custom variants) to use output splitters. Signed-off-by: Ingo Müller <[email protected]>
- Loading branch information
1 parent
a37f35c
commit b6225eb
Showing
9 changed files
with
867 additions
and
60 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.