From: David Given Date: Tue, 13 Dec 2016 23:26:58 +0000 (+0100) Subject: Much more aggressive splitting. X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=91b7dcd03536a9a9d31607c4397b391afa362234;p=ack.git Much more aggressive splitting. --- diff --git a/mach/proto/mcg/pass_splitliveranges.c b/mach/proto/mcg/pass_splitliveranges.c index 50417d5a8..b64ad5517 100644 --- a/mach/proto/mcg/pass_splitliveranges.c +++ b/mach/proto/mcg/pass_splitliveranges.c @@ -94,6 +94,12 @@ void pass_split_live_ranges(void) { current_bb = dominance.preorder.item[i]; + for (j=0; jphis.count; j++) + { + struct vreg* vreg = current_bb->phis.item[j].left; + insert_move_after(0, vreg); + } + for (j=0; jhops.count; j++) { struct hop* hop = current_bb->hops.item[j]; @@ -111,6 +117,12 @@ void pass_split_live_ranges(void) struct vreg* vreg = hop->outs.item[k]; insert_move_after(j, vreg); } + + for (k=0; kins.count; k++) + { + struct vreg* vreg = hop->ins.item[k]; + j += insert_move_after(j, vreg); + } } } }