You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
EmitC currently models C's `&` and `*` operators via its `apply` op,
which has several drawbacks:
- Representing multiple opcodes (selected by an attribute) in a single
op complicates the code by adding a second, attribute-based selection
layer on top of MLIR's standard isa<> mechanism.
- Its pre-lvalue semantics combines dereferencing with memory access and
allows taking the address of SSA values.
This patch adds two distinct ops to model these C operators. These ops
are lvalue-based and therefore don't incur any side-effects. EmitC
passes were converted to use the new ops instead of `apply` which is
now deprecated, to be retired in the future.
0 commit comments