fuse epilog deduplication with jump threading

This commit is contained in:
Quentin Carbonneaux 2019-05-05 14:34:17 +02:00
parent e6c216baad
commit 7ba69be87b
2 changed files with 12 additions and 3 deletions

3
rega.c
View file

@ -417,10 +417,11 @@ doblk(Blk *b, RMap *cur)
}
for (r=0; r<nr; r++)
*ra[r] = ralloc(cur, ra[r]->val);
if (i->op == Ocopy && req(i->to, i->arg[0]))
curi++;
/* try to change the register of a hinted
* temporary if rf is available */
x = 1;
if (rf != -1 && (t = cur->w[rf]) != 0)
if (!bshas(cur->b, rf) && *hint(t) == rf
&& (rt = rfree(cur, t)) != -1) {