The design takes the decision to encode all Expression messages of the expressions field of the ProjectRel message as a single, combined region, where each expression corresponds to one of the yielded values. A possible alternative would be to have one region per expression. However, the current design not only seems more readable and more idiomatic MLIR but, in particular, allows for out-of-the-box CSE within a single project op.
Since the yield op only supported a single operand, this PR also changes that op plus a few usages to a variadic value operand.
The design takes the decision to encode all
Expression
messages of theexpressions
field of theProjectRel
message as a single, combined region, where each expression corresponds to one of the yielded values. A possible alternative would be to have one region perexpression
. However, the current design not only seems more readable and more idiomatic MLIR but, in particular, allows for out-of-the-box CSE within a singleproject
op.Since the
yield
op only supported a single operand, this PR also changes that op plus a few usages to a variadicvalue
operand.