aboutsummaryrefslogtreecommitdiffstats
path: root/backend/IRC.ml
diff options
context:
space:
mode:
authorCyril SIX <cyril.six@kalray.eu>2019-02-06 17:46:39 +0100
committerCyril SIX <cyril.six@kalray.eu>2019-02-06 17:46:58 +0100
commit5ad25465f77c3009eaff7e9a124c254c1e9f33cd (patch)
treeacda8cbf2bd5b5d6503251afb53f8cda78fa5c11 /backend/IRC.ml
parentc5ce41e18c1cf9f2213a37825137aba5a38365a6 (diff)
downloadcompcert-kvx-5ad25465f77c3009eaff7e9a124c254c1e9f33cd.tar.gz
compcert-kvx-5ad25465f77c3009eaff7e9a124c254c1e9f33cd.zip
Better fix for register allocation?
Diffstat (limited to 'backend/IRC.ml')
-rw-r--r--backend/IRC.ml7
1 files changed, 4 insertions, 3 deletions
diff --git a/backend/IRC.ml b/backend/IRC.ml
index 43955897..fc9fc456 100644
--- a/backend/IRC.ml
+++ b/backend/IRC.ml
@@ -355,12 +355,13 @@ let interfere g n1 n2 =
let recordInterf n1 n2 =
match n2.color with
| None | Some (R _) ->
- if n1.regclass = n2.regclass then begin
+ (* FIXME - HACK K1C disabled the if *)
+ (* if n1.regclass = n2.regclass then *) begin
n1.adjlist <- n2 :: n1.adjlist;
n1.degree <- 1 + n1.degree
- end else begin
+ end (* else begin
n1.extra_adj <- n2 :: n1.extra_adj
- end
+ end *)
| Some (S _) ->
(*i printf "extra adj %s to %s\n" (name_of_node n1) (name_of_node n2); *)
n1.extra_adj <- n2 :: n1.extra_adj