diff options
| -rw-r--r-- | linearize.c | 5 | ||||
| -rw-r--r-- | linearize.h | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/linearize.c b/linearize.c index 61d35a70..29d76cf1 100644 --- a/linearize.c +++ b/linearize.c @@ -235,6 +235,8 @@ static const char* opcodes[] = { /* Sparse tagging (line numbers, context, whatever) */ [OP_CONTEXT] = "context", [OP_RANGE] = "range-check", + + [OP_COPY] = "copy", }; static char *show_asm_constraints(char *buf, const char *sep, struct asm_constraint_list *list) @@ -445,6 +447,9 @@ const char *show_instruction(struct instruction *insn) case OP_ASM: buf = show_asm(buf, insn); break; + case OP_COPY: + buf += sprintf(buf, "%s <- %s", show_pseudo(insn->target), show_pseudo(insn->src)); + break; default: break; } diff --git a/linearize.h b/linearize.h index 3b761d93..16264494 100644 --- a/linearize.h +++ b/linearize.h @@ -198,6 +198,9 @@ enum opcode { /* Sparse tagging (line numbers, context, whatever) */ OP_CONTEXT, OP_RANGE, + + /* Needed to translate SSA back to normal form */ + OP_COPY, }; struct basic_block_list; |
