Skip to content

Commit dda20ea

Browse files
authored
[flang] Add fir-lsp-server (#114059)
This patch adds a fir-lsp-server tool for editor support for editing fir files, using the existing MLIR lsp server support. See https://mlir.llvm.org/docs/Tools/MLIRLSP/ for more information.
1 parent 95c2d79 commit dda20ea

File tree

3 files changed

+27
-0
lines changed

3 files changed

+27
-0
lines changed

flang/tools/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,4 @@ add_subdirectory(flang-driver)
1212
add_subdirectory(tco)
1313
add_subdirectory(f18-parse-demo)
1414
add_subdirectory(fir-opt)
15+
add_subdirectory(fir-lsp-server)
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
set(LLVM_LINK_COMPONENTS
2+
Core
3+
Support
4+
AsmParser
5+
)
6+
7+
add_flang_tool(fir-lsp-server fir-lsp-server.cpp)
8+
9+
get_property(dialect_libs GLOBAL PROPERTY MLIR_DIALECT_LIBS)
10+
get_property(extension_libs GLOBAL PROPERTY MLIR_EXTENSION_LIBS)
11+
target_link_libraries(fir-lsp-server PRIVATE
12+
CUFDialect
13+
FIRDialect
14+
HLFIRDialect
15+
MLIRLspServerLib
16+
${dialect_libs}
17+
${extension_libs})
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#include "mlir/Tools/mlir-lsp-server/MlirLspServerMain.h"
2+
#include "flang/Optimizer/Support/InitFIR.h"
3+
4+
int main(int argc, char **argv) {
5+
mlir::DialectRegistry registry;
6+
fir::support::registerNonCodegenDialects(registry);
7+
fir::support::addFIRExtensions(registry);
8+
return mlir::failed(mlir::MlirLspServerMain(argc, argv, registry));
9+
}

0 commit comments

Comments
 (0)