From 91b7dcd03536a9a9d31607c4397b391afa362234 Mon Sep 17 00:00:00 2001 From: David Given Date: Wed, 14 Dec 2016 00:26:58 +0100 Subject: [PATCH] Much more aggressive splitting. --- mach/proto/mcg/pass_splitliveranges.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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); + } } } } -- 2.34.1