qbe

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

commit 865964706f9c3f4f564849589b8cc1bada970569
parent f6bd53d2adfcd6e0abcbb2070759ca0241d5d7b7
Author: Quentin Carbonneaux <quentin.carbonneaux@yale.edu>
Date:   Tue,  5 Apr 2016 15:15:10 -0400

use bsiter() for better performance

Diffstat:
Mrega.c | 11+++++------
1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/rega.c b/rega.c @@ -556,12 +556,11 @@ rega(Fn *fn) src = rref(&end[b->id], src.val); pmadd(src, dst, p->cls); } - for (t=Tmp0; t<fn->ntmp; t++) - if (bshas(s->in, t)) { - src = rref(&end[b->id], t); - dst = rref(&beg[s->id], t); - pmadd(src, dst, tmp[t].cls); - } + for (t=Tmp0; bsiter(s->in, &t); t++) { + src = rref(&end[b->id], t); + dst = rref(&beg[s->id], t); + pmadd(src, dst, tmp[t].cls); + } pmgen(); if (curi == insb) continue;