[all-commits] [llvm/llvm-project] 52b34d: [mlir][PDLL] Add an initial language server for PDLL
River Riddle via All-commits
all-commits at lists.llvm.org
Sat Mar 19 13:29:35 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 52b34df9d670e948a97dd72b8b5a426d7b3007c7
https://github.com/llvm/llvm-project/commit/52b34df9d670e948a97dd72b8b5a426d7b3007c7
Author: River Riddle <riddleriver at gmail.com>
Date: 2022-03-19 (Sat, 19 Mar 2022)
Changed paths:
M mlir/include/mlir/Tools/PDLL/AST/Nodes.h
A mlir/include/mlir/Tools/mlir-pdll-lsp-server/MlirPdllLspServerMain.h
M mlir/lib/Tools/CMakeLists.txt
M mlir/lib/Tools/PDLL/AST/Nodes.cpp
M mlir/lib/Tools/lsp-server-support/Protocol.h
M mlir/lib/Tools/mlir-lsp-server/MLIRServer.cpp
A mlir/lib/Tools/mlir-pdll-lsp-server/CMakeLists.txt
A mlir/lib/Tools/mlir-pdll-lsp-server/LSPServer.cpp
A mlir/lib/Tools/mlir-pdll-lsp-server/LSPServer.h
A mlir/lib/Tools/mlir-pdll-lsp-server/MlirPdllLspServerMain.cpp
A mlir/lib/Tools/mlir-pdll-lsp-server/PDLLServer.cpp
A mlir/lib/Tools/mlir-pdll-lsp-server/PDLLServer.h
M mlir/test/CMakeLists.txt
A mlir/test/mlir-pdll-lsp-server/definition-split-file.test
A mlir/test/mlir-pdll-lsp-server/definition.test
A mlir/test/mlir-pdll-lsp-server/exit-eof.test
A mlir/test/mlir-pdll-lsp-server/exit-with-shutdown.test
A mlir/test/mlir-pdll-lsp-server/exit-without-shutdown.test
A mlir/test/mlir-pdll-lsp-server/initialize-params-invalid.test
A mlir/test/mlir-pdll-lsp-server/initialize-params.test
A mlir/test/mlir-pdll-lsp-server/references.test
M mlir/tools/CMakeLists.txt
A mlir/tools/mlir-pdll-lsp-server/CMakeLists.txt
A mlir/tools/mlir-pdll-lsp-server/mlir-pdll-lsp-server.cpp
M mlir/utils/vscode/package-lock.json
M mlir/utils/vscode/package.json
A mlir/utils/vscode/pdll-grammar.json
A mlir/utils/vscode/pdll-language-configuration.json
M mlir/utils/vscode/src/configWatcher.ts
M mlir/utils/vscode/src/extension.ts
M mlir/utils/vscode/src/mlirContext.ts
Log Message:
-----------
[mlir][PDLL] Add an initial language server for PDLL
This commits adds a basic language server for PDLL to enable providing
language features in IDEs such as VSCode. This initial commit only
adds support for tracking definitions, references, and diagnostics, but
followup commits will build upon this to provide more significant behavior.
In addition to the server, this commit also updates mlir-vscode to support
the PDLL language and invoke the server.
Differential Revision: https://reviews.llvm.org/D121541
Commit: 41ae211458bd22324f4c65fd9da035c01395cd0f
https://github.com/llvm/llvm-project/commit/41ae211458bd22324f4c65fd9da035c01395cd0f
Author: River Riddle <riddleriver at gmail.com>
Date: 2022-03-19 (Sat, 19 Mar 2022)
Changed paths:
M mlir/lib/Tools/mlir-pdll-lsp-server/LSPServer.cpp
M mlir/lib/Tools/mlir-pdll-lsp-server/PDLLServer.cpp
M mlir/lib/Tools/mlir-pdll-lsp-server/PDLLServer.h
A mlir/test/mlir-pdll-lsp-server/hover.test
M mlir/test/mlir-pdll-lsp-server/initialize-params.test
Log Message:
-----------
[mlir][PDLL] Add hover support to the PDLL language server
This adds support for providing information when hovering over
operation names, variables, patters, constraints, and rewrites.
Differential Revision: https://reviews.llvm.org/D121542
Commit: 8dd4272ca2f5ce7c793f3c6f9e468913d768700d
https://github.com/llvm/llvm-project/commit/8dd4272ca2f5ce7c793f3c6f9e468913d768700d
Author: River Riddle <riddleriver at gmail.com>
Date: 2022-03-19 (Sat, 19 Mar 2022)
Changed paths:
M mlir/lib/Tools/mlir-pdll-lsp-server/LSPServer.cpp
M mlir/lib/Tools/mlir-pdll-lsp-server/PDLLServer.cpp
M mlir/lib/Tools/mlir-pdll-lsp-server/PDLLServer.h
A mlir/test/mlir-pdll-lsp-server/document-symbols.test
M mlir/test/mlir-pdll-lsp-server/initialize-params.test
Log Message:
-----------
[mlir][PDLL] Add symbol support to the PDLL language server
This adds support for documenting the top-level "symbols",
e.g. patterns, constraints, rewrites, etc., within a PDLL file.
Differential Revision: https://reviews.llvm.org/D121543
Commit: 008de486f706ef25a66d4384c2c3af1ed86e680e
https://github.com/llvm/llvm-project/commit/008de486f706ef25a66d4384c2c3af1ed86e680e
Author: River Riddle <riddleriver at gmail.com>
Date: 2022-03-19 (Sat, 19 Mar 2022)
Changed paths:
M mlir/include/mlir/Tools/PDLL/ODS/Context.h
A mlir/include/mlir/Tools/PDLL/Parser/CodeComplete.h
M mlir/include/mlir/Tools/PDLL/Parser/Parser.h
M mlir/lib/Tools/PDLL/Parser/CMakeLists.txt
A mlir/lib/Tools/PDLL/Parser/CodeComplete.cpp
M mlir/lib/Tools/PDLL/Parser/Lexer.cpp
M mlir/lib/Tools/PDLL/Parser/Lexer.h
M mlir/lib/Tools/PDLL/Parser/Parser.cpp
M mlir/lib/Tools/lsp-server-support/Protocol.cpp
M mlir/lib/Tools/lsp-server-support/Protocol.h
M mlir/lib/Tools/mlir-pdll-lsp-server/LSPServer.cpp
M mlir/lib/Tools/mlir-pdll-lsp-server/PDLLServer.cpp
M mlir/lib/Tools/mlir-pdll-lsp-server/PDLLServer.h
A mlir/test/mlir-pdll-lsp-server/completion.test
M mlir/test/mlir-pdll-lsp-server/initialize-params.test
Log Message:
-----------
[mlir][PDLL] Add code completion to the PDLL language server
This commit adds code completion support to the language server,
and initially supports providing completions for: Member access,
attributes/constraint/dialect/operation names, and pattern metadata.
Differential Revision: https://reviews.llvm.org/D121544
Commit: 469c58944d4f0f990ca8ee88ebcc37624801a36c
https://github.com/llvm/llvm-project/commit/469c58944d4f0f990ca8ee88ebcc37624801a36c
Author: River Riddle <riddleriver at gmail.com>
Date: 2022-03-19 (Sat, 19 Mar 2022)
Changed paths:
M mlir/include/mlir/Tools/PDLL/Parser/CodeComplete.h
M mlir/lib/Tools/PDLL/Parser/Parser.cpp
M mlir/lib/Tools/lsp-server-support/Protocol.cpp
M mlir/lib/Tools/lsp-server-support/Protocol.h
M mlir/lib/Tools/mlir-pdll-lsp-server/LSPServer.cpp
M mlir/lib/Tools/mlir-pdll-lsp-server/PDLLServer.cpp
M mlir/lib/Tools/mlir-pdll-lsp-server/PDLLServer.h
M mlir/test/mlir-pdll-lsp-server/initialize-params.test
A mlir/test/mlir-pdll-lsp-server/signature-help.test
Log Message:
-----------
[mlir][PDLL] Add signature help to the PDLL language server
This commit adds signature support to the language server,
and initially supports providing help for: operation operands and results,
and constraint/rewrite calls.
Differential Revision: https://reviews.llvm.org/D121545
Commit: 9595f3568ade92509d5f1e0d45066e31def762a6
https://github.com/llvm/llvm-project/commit/9595f3568ade92509d5f1e0d45066e31def762a6
Author: River Riddle <riddleriver at gmail.com>
Date: 2022-03-19 (Sat, 19 Mar 2022)
Changed paths:
M mlir/docs/PDLL.md
M mlir/include/mlir/Dialect/PDL/IR/PDLOps.td
M mlir/include/mlir/Dialect/PDLInterp/IR/PDLInterpOps.td
M mlir/include/mlir/IR/PatternMatch.h
M mlir/lib/Conversion/PDLToPDLInterp/PDLToPDLInterp.cpp
M mlir/lib/Conversion/PDLToPDLInterp/Predicate.h
M mlir/lib/Conversion/PDLToPDLInterp/PredicateTree.cpp
M mlir/lib/Dialect/PDL/IR/PDL.cpp
M mlir/lib/Rewrite/ByteCode.cpp
M mlir/lib/Tools/PDLL/CodeGen/CPPGen.cpp
M mlir/lib/Tools/PDLL/CodeGen/MLIRGen.cpp
M mlir/python/mlir/dialects/_pdl_ops_ext.py
M mlir/test/Conversion/PDLToPDLInterp/pdl-to-pdl-interp-matcher.mlir
M mlir/test/Conversion/PDLToPDLInterp/pdl-to-pdl-interp-rewriter.mlir
M mlir/test/Dialect/PDL/invalid.mlir
M mlir/test/Dialect/PDL/ops.mlir
M mlir/test/Rewrite/pdl-bytecode.mlir
M mlir/test/lib/Rewrite/TestPDLByteCode.cpp
M mlir/test/mlir-pdll/CodeGen/CPP/general.pdll
M mlir/test/python/dialects/pdl_ops.py
Log Message:
-----------
[mlir:PDL] Remove the ConstantParams support from native Constraints/Rewrites
This support has never really worked well, and is incredibly clunky to
use (it effectively creates two argument APIs), and clunky to generate (it isn't
clear how we should actually expose this from PDL frontends). Treating these
as just attribute arguments is much much cleaner in every aspect of the stack.
If we need to optimize lots of constant parameters, it would be better to
investigate internal representation optimizations (e.g. batch attribute creation),
that do not affect the user (we want a clean external API).
Differential Revision: https://reviews.llvm.org/D121569
Compare: https://github.com/llvm/llvm-project/compare/1a820ff03910...9595f3568ade
More information about the All-commits
mailing list