[qfcc] Analyze memset target pointer

This fixes the false uninitialized warnings cause by nil migration.
This commit is contained in:
Bill Currie 2020-03-13 18:28:54 +09:00
parent 3d88c3845f
commit e22579d70e
1 changed files with 4 additions and 2 deletions

View File

@ -1091,9 +1091,11 @@ flow_analyze_statement (statement_t *s, set_t *use, set_t *def, set_t *kill,
case st_move: case st_move:
flow_add_op_var (use, s->opa, 1); flow_add_op_var (use, s->opa, 1);
flow_add_op_var (use, s->opb, 1); flow_add_op_var (use, s->opb, 1);
if (!strcmp (s->opcode, "<MOVE>")) { if (!strcmp (s->opcode, "<MOVE>")
|| !strcmp (s->opcode, "<MEMSET>")) {
flow_add_op_var (def, s->opc, 0); flow_add_op_var (def, s->opc, 0);
} else if (!strcmp (s->opcode, "<MOVEP>")) { } else if (!strcmp (s->opcode, "<MOVEP>")
|| !strcmp (s->opcode, "<MEMSETP>")) {
flow_add_op_var (use, s->opc, 0); flow_add_op_var (use, s->opc, 0);
if (s->opc->op_type == op_value if (s->opc->op_type == op_value
&& s->opc->o.value->lltype == ev_pointer && s->opc->o.value->lltype == ev_pointer