aboutsummaryrefslogtreecommitdiffstats
path: root/powerpc
diff options
context:
space:
mode:
Diffstat (limited to 'powerpc')
-rw-r--r--powerpc/Machregsaux.ml7
-rw-r--r--powerpc/Machregsaux.mli1
2 files changed, 8 insertions, 0 deletions
diff --git a/powerpc/Machregsaux.ml b/powerpc/Machregsaux.ml
index b8d7c97f..f8253ca4 100644
--- a/powerpc/Machregsaux.ml
+++ b/powerpc/Machregsaux.ml
@@ -49,3 +49,10 @@ let can_reserve_register r =
List.mem r Conventions1.int_callee_save_regs
|| List.mem r Conventions1.float_callee_save_regs
+let mregs_of_clobber idl =
+ List.fold_left
+ (fun l c ->
+ match register_by_name (Camlcoq.extern_atom c) with
+ | Some r -> r :: l
+ | None -> l)
+ [] idl
diff --git a/powerpc/Machregsaux.mli b/powerpc/Machregsaux.mli
index 400c5abb..90343b5b 100644
--- a/powerpc/Machregsaux.mli
+++ b/powerpc/Machregsaux.mli
@@ -15,3 +15,4 @@
val register_by_name: string -> Machregs.mreg option
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