qbe

Internal scc patchset buffer for QBE
Log | Files | Refs | README | LICENSE

commit 3c3175ca73914e299589b2e38692cd01b349d3d5
parent ad064eae9ae1d39e450ab1b78622c9bae473ae42
Author: Quentin Carbonneaux <quentin.carbonneaux@yale.edu>
Date:   Wed, 19 Aug 2015 13:59:23 -0400

remove dead code from rega

An invariant is that all registers allocated at some point
have a hint.  This makes the code removed by this commit
dead because of the if condition testing for empty hints.

Diffstat:
Mlisc/rega.c | 15---------------
1 file changed, 0 insertions(+), 15 deletions(-)

diff --git a/lisc/rega.c b/lisc/rega.c @@ -307,21 +307,6 @@ rega(Fn *fn) b = fn->rpo[n]; cur.n = 0; cur.b = (Bits){{0}}; - b1 = b; - if (b->s1 && b1->loop <= b->s1->loop) - b1 = b->s1; - if (b->s2 && b1->loop <= b->s2->loop) - b1 = b->s2; - /* try to reuse the register - * assignment of the most frequent - * successor - */ - if (b1 != b) - for (t=Tmp0; t<fn->ntmp; t++) - if (tmp[t].hint == -1) - if (BGET(b->out, t)) - if ((r = rfind(&beg[b1->id], t)) != -1) - radd(&cur, t, r); for (x=0; x<2; x++) for (t=Tmp0; t<fn->ntmp; t++) if (BGET(b->out, t))