This patch is based on a previous serialization patch that serializes register mask machine operands (http://reviews.llvm.org/D10673).
This patch serializes the implicit register flag. This patch introduces two new keywords into the
machine instruction syntax: 'implicit' and 'implicit-def'. The 'implicit' keyword is used for the implicit
register operands, and the 'implicit-def' keyword is used for the register operands that have the
implicit and define flag. Examples:
CMP32ri8 %edi, 10, implicit-def %eflags JG_1 %bb.2.exit, implicit %eflags
This patch also adds a way to control the implicit machine operands - if a parser encounters a
register operand with an 'implicit' or 'implicit-def' flag, it will assume that this instruction specifies
all the implicit operands explicitly. But if the parser encounters an instruction that has no implicit register
operands, it will add the implicit register operands that are specified by the instruction information.
This means that the instruction:
CMP32ri8 %edi, 10
Is equivalent to:
CMP32ri8 %edi, 10, implicit-def %eflags