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
[TableGen][SelectionDAG] Remove the implicit DAG node
The node was introduced in 59c39dc and was intended to allow writing
patterns like this:
`[(set AL, (MULr8 AL, GR8:$src1)), (implicit EFLAGS)]`
However, it does not introduce new functionality because the same
pattern can be equivalently expressed as:
`[(set AL, EFLAGS, (node AL, GR8:$src1))]`
The latter form is also more flexible as it allows reordering output
operands.
In most places uses of `implicit` were redundant -- removing them
didn't change anything in the generated DAG tables. The only three cases
where it did have effect are in X86InstrArithmetic.td and
X86InstrSystem.td -- those were rewritten to use `set` node.
Removing `implicit` from some patterns made them importable by GISel,
hence the change in a test.
0 commit comments