From ab5528fb4caf637a0c7014d943302198079e7c20 Mon Sep 17 00:00:00 2001 From: David Monniaux Date: Wed, 20 Mar 2019 17:01:25 +0100 Subject: XLeroy's suggested fix for shared float/int register file. --- backend/IRC.ml | 6 +++--- mppa_k1c/Conventions1.v | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/backend/IRC.ml b/backend/IRC.ml index 43955897..c7b1bf04 100644 --- a/backend/IRC.ml +++ b/backend/IRC.ml @@ -239,11 +239,11 @@ type graph = { let class_of_type = function | Tint | Tlong -> 0 - | Tfloat | Tsingle -> 1 + | Tfloat | Tsingle -> 0 (* normal: 1 *) | Tany32 | Tany64 -> assert false -let class_of_reg r = - if Conventions1.is_float_reg r then 1 else 0 +let class_of_reg r = 0 + (* normal: if Conventions1.is_float_reg r then 1 else 0 *) let class_of_loc = function | R r -> class_of_reg r diff --git a/mppa_k1c/Conventions1.v b/mppa_k1c/Conventions1.v index 59159f61..d41f1095 100644 --- a/mppa_k1c/Conventions1.v +++ b/mppa_k1c/Conventions1.v @@ -47,13 +47,13 @@ Definition int_caller_save_regs := :: R52 :: R53 :: R54 :: R55 :: R56 :: R57 :: R58 :: R59 :: R60 :: R61 :: R62 :: R63 :: nil. -Definition float_caller_save_regs := rev int_caller_save_regs. +Definition float_caller_save_regs : list mreg := nil. Definition int_callee_save_regs := (* R15 :: R16 :: R17 :: *)R18 :: R19 :: R20 :: R21 :: R22 :: R23 :: R24 :: R25 :: R26 :: R27 :: R28 :: R29 :: R30 :: R31 :: nil. -Definition float_callee_save_regs := rev int_callee_save_regs. +Definition float_callee_save_regs : list mreg := nil. Definition destroyed_at_call := List.filter (fun r => negb (is_callee_save r)) all_mregs. -- cgit