aboutsummaryrefslogtreecommitdiffstats
path: root/arm
diff options
context:
space:
mode:
authorXavier Leroy <xavier.leroy@inria.fr>2015-04-23 15:01:53 +0200
committerXavier Leroy <xavier.leroy@inria.fr>2015-04-23 15:01:53 +0200
commitb1e584557d2c5ef8422694ea6453f537dbd1573a (patch)
tree1a72485fa0a1b629d461bba274d22b83f413756a /arm
parent5ad466befa609df178f04886484ee38b1a9c44ed (diff)
downloadcompcert-kvx-b1e584557d2c5ef8422694ea6453f537dbd1573a.tar.gz
compcert-kvx-b1e584557d2c5ef8422694ea6453f537dbd1573a.zip
Allow "scratch" (non-allocatable temporary registers) to be mentioned in asm clobber lists.
Diffstat (limited to 'arm')
-rw-r--r--arm/Machregsaux.ml2
-rw-r--r--arm/Machregsaux.mli3
2 files changed, 4 insertions, 1 deletions
diff --git a/arm/Machregsaux.ml b/arm/Machregsaux.ml
index 3f7d0693..44e6b192 100644
--- a/arm/Machregsaux.ml
+++ b/arm/Machregsaux.ml
@@ -25,6 +25,8 @@ let register_names = [
("F12", F12);("F13", F13);("F14", F14); ("F15", F15)
]
+let scratch_register_names = [ "R14" ]
+
let name_of_register r =
let rec rev_assoc = function
| [] -> None
diff --git a/arm/Machregsaux.mli b/arm/Machregsaux.mli
index 90343b5b..f0feec96 100644
--- a/arm/Machregsaux.mli
+++ b/arm/Machregsaux.mli
@@ -12,7 +12,8 @@
(** Auxiliary functions on machine registers *)
+val name_of_register: Machregs.mreg -> string option
val register_by_name: string -> Machregs.mreg option
+val scratch_register_names: string list
val can_reserve_register: Machregs.mreg -> bool
-val name_of_register: Machregs.mreg -> string option
val mregs_of_clobber: Camlcoq.atom list -> Machregs.mreg list