[all-commits] [llvm/llvm-project] d98038: [mlir][emitc] Add op modelling C expressions (#71631)

Gil Rapaport via All-commits all-commits at lists.llvm.org
Wed Dec 20 05:05:01 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d9803841f2d539f6a740c07ebd0f3cb176812dbf
      https://github.com/llvm/llvm-project/commit/d9803841f2d539f6a740c07ebd0f3cb176812dbf
  Author: Gil Rapaport <gil.rapaport at mobileye.com>
  Date:   2023-12-20 (Wed, 20 Dec 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/EmitC/CMakeLists.txt
    M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
    A mlir/include/mlir/Dialect/EmitC/Transforms/CMakeLists.txt
    A mlir/include/mlir/Dialect/EmitC/Transforms/Passes.h
    A mlir/include/mlir/Dialect/EmitC/Transforms/Passes.td
    A mlir/include/mlir/Dialect/EmitC/Transforms/Transforms.h
    M mlir/include/mlir/InitAllPasses.h
    M mlir/lib/Dialect/EmitC/CMakeLists.txt
    M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
    A mlir/lib/Dialect/EmitC/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/EmitC/Transforms/FormExpressions.cpp
    A mlir/lib/Dialect/EmitC/Transforms/Transforms.cpp
    M mlir/lib/Target/Cpp/TranslateToCpp.cpp
    M mlir/test/Dialect/EmitC/invalid_ops.mlir
    M mlir/test/Dialect/EmitC/ops.mlir
    A mlir/test/Dialect/EmitC/transforms.mlir
    A mlir/test/Target/Cpp/expressions.mlir
    M mlir/test/Target/Cpp/for.mlir

  Log Message:
  -----------
  [mlir][emitc] Add op modelling C expressions (#71631)

Add an emitc.expression operation that models C expressions, and provide
transforms to form and fold expressions. The translator emits the body
of
emitc.expression ops as a single C expression.
This expression is emitted by default as the RHS of an EmitC SSA value,
but if
possible, expressions with a single use that is not another expression
are
instead inlined. Specific expression's inlining can be fine tuned by
lowering
passes and transforms.




More information about the All-commits mailing list