[all-commits] [llvm/llvm-project] cc0a1d: [mlir][emitc] Deferred emission as expressions (#1...
Gil Rapaport via All-commits
all-commits at lists.llvm.org
Wed Apr 29 23:30:09 PDT 2026
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: cc0a1d85e68de492a33a801838a72e63570d80de
https://github.com/llvm/llvm-project/commit/cc0a1d85e68de492a33a801838a72e63570d80de
Author: Gil Rapaport <gil.rapaport at mobileye.com>
Date: 2026-04-30 (Thu, 30 Apr 2026)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/include/mlir/Dialect/EmitC/IR/EmitCInterfaces.td
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
M mlir/test/Dialect/EmitC/form-expressions.mlir
M mlir/test/Target/Cpp/expressions.mlir
M mlir/test/Target/Cpp/member.mlir
Log Message:
-----------
[mlir][emitc] Deferred emission as expressions (#159975)
The translator currently implements deferred emission for certain ops.
Like expressions, these ops are emitted as part of their users but
unlike expressions, this is mandatory. Besides complicating the code
with a second inlining mechanism, deferred emission's inlining is
limited as it's not recursive.
This patch extends EmitC's expressions to deferred emission ops by (a)
marking them as CExpressions, (b) extending expression interface to mark
ops as always-inline and (c) support inlining of always-inline
CExpressions even when not packed of an `emitc.expression` op, retaining
current behavior.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list