Add MOVEP's opc to the use set.

MOVEP's opc itself is always known and used, whether it's a constant
pointer or variable doesn't matter. This fixes the lost pointer calculation
for va_list.list[j] = object_from_plist (item);
This commit is contained in:
Bill Currie 2012-12-26 11:53:06 +09:00
parent 412fb4aacd
commit c5179c9e99

View file

@ -815,6 +815,7 @@ flow_analyze_statement (statement_t *s, set_t *use, set_t *def, set_t *kill,
if (!strcmp (s->opcode, "<MOVE>")) {
flow_add_op_var (def, s->opc);
} else if (!strcmp (s->opcode, "<MOVEP>")) {
flow_add_op_var (use, s->opc);
if (s->opc->op_type == op_value
&& s->opc->o.value->type == ev_pointer
&& s->opc->o.value->v.pointer.def) {