mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2025-03-21 18:01:15 +00:00
[qfcc] Mark known source def live for movep
This fixes ivar-struct-return (and qwaq).
This commit is contained in:
parent
43ea34535e
commit
0293d335d0
2 changed files with 6 additions and 2 deletions
|
@ -744,6 +744,11 @@ dag_create (flownode_t *flownode)
|
|||
}
|
||||
}
|
||||
}
|
||||
if (operands[4]) {
|
||||
// a movep instruction knew what it was reading, so mark that
|
||||
// as live
|
||||
dag_make_var_live (live_vars, operands[4]);
|
||||
}
|
||||
op = opcode_label (dag, s->opcode, s->expr);
|
||||
n = children[0];
|
||||
if (s->type != st_assign) {
|
||||
|
|
|
@ -102,11 +102,10 @@ dot_sblock (dstring_t *dstr, sblock_t *sblock, int blockno)
|
|||
dasprintf (dstr, " <tr>\n");
|
||||
dasprintf (dstr, " <td colspan=\"2\" >%p(%d)</td>\n", sblock,
|
||||
blockno);
|
||||
dasprintf (dstr, " <td height=\"0\" colspan=\"2\" port=\"s\">\n");
|
||||
dasprintf (dstr, " <td height=\"0\" colspan=\"3\" port=\"s\">\n");
|
||||
for (l = sblock->labels; l; l = l->next)
|
||||
dasprintf (dstr, " %s(%d)\n", l->name, l->used);
|
||||
dasprintf (dstr, " </td>\n");
|
||||
dasprintf (dstr, " <td></td>\n");
|
||||
dasprintf (dstr, " </tr>\n");
|
||||
for (s = sblock->statements; s; s = s->next)
|
||||
flow_statement (dstr, s);
|
||||
|
|
Loading…
Reference in a new issue