[all-commits] [llvm/llvm-project] e7d40a: [mlir][EmitC] Add func, call and return operation...

Marius Brehler via All-commits all-commits at lists.llvm.org
Thu Feb 1 01:04:49 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e7d40a87ff230528131541f6ac17a2e1a7dc78e1
      https://github.com/llvm/llvm-project/commit/e7d40a87ff230528131541f6ac17a2e1a7dc78e1
  Author: Marius Brehler <marius.brehler at iml.fraunhofer.de>
  Date:   2024-02-01 (Thu, 01 Feb 2024)

  Changed paths:
    A mlir/include/mlir/Conversion/FuncToEmitC/FuncToEmitC.h
    A mlir/include/mlir/Conversion/FuncToEmitC/FuncToEmitCPass.h
    M mlir/include/mlir/Conversion/Passes.h
    M mlir/include/mlir/Conversion/Passes.td
    M mlir/include/mlir/Dialect/EmitC/IR/EmitC.h
    M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
    M mlir/lib/Conversion/CMakeLists.txt
    A mlir/lib/Conversion/FuncToEmitC/CMakeLists.txt
    A mlir/lib/Conversion/FuncToEmitC/FuncToEmitC.cpp
    A mlir/lib/Conversion/FuncToEmitC/FuncToEmitCPass.cpp
    M mlir/lib/Dialect/EmitC/IR/CMakeLists.txt
    M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
    M mlir/lib/Target/Cpp/TranslateToCpp.cpp
    A mlir/test/Conversion/FuncToEmitC/func-to-emitc.mlir
    M mlir/test/Dialect/EmitC/invalid_ops.mlir
    M mlir/test/Dialect/EmitC/ops.mlir
    A mlir/test/Target/Cpp/func.mlir
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
   [mlir][EmitC] Add func, call and return operations and conversions (#79612)

This adds a `func`, `call` and `return` operation to the EmitC dialect,
closely related to the corresponding operations of the Func dialect. In
contrast to the operations of the Func dialect, the EmitC operations do
not support multiple results. The `emitc.func` op features a
`specifiers` argument that for example allows, with corresponding
support in the emitter, to emit `inline static` functions.

Furthermore, this adds patterns and a pass to convert the Func dialect
to EmitC. A `func.func` op that is `private` is converted to
`emitc.func` with a `"static"` specifier.




More information about the All-commits mailing list