diff options
author | Bernhard Schommer <bernhardschommer@gmail.com> | 2020-04-29 15:12:54 +0200 |
---|---|---|
committer | Xavier Leroy <xavierleroy@users.noreply.github.com> | 2020-06-28 10:07:02 +0200 |
commit | ad2ea9c2e701dd82c26e6cd3e8a777be9bdef2a2 (patch) | |
tree | 128b7e26ed98c6035331adfd880103e89e25200b /backend/Machregsnames.ml | |
parent | faa1d7fbfd7c9d5aa333d9b353a6118e105c4428 (diff) | |
download | compcert-ad2ea9c2e701dd82c26e6cd3e8a777be9bdef2a2.tar.gz compcert-ad2ea9c2e701dd82c26e6cd3e8a777be9bdef2a2.zip |
Move shared code in new file.
The name_of_register and register_of_name function are shared between
all architectures and can be moved in a common file.
Diffstat (limited to 'backend/Machregsnames.ml')
-rw-r--r-- | backend/Machregsnames.ml | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/backend/Machregsnames.ml b/backend/Machregsnames.ml new file mode 100644 index 00000000..fdcbd0e5 --- /dev/null +++ b/backend/Machregsnames.ml @@ -0,0 +1,24 @@ +(* *********************************************************************) +(* *) +(* The Compcert verified compiler *) +(* *) +(* Xavier Leroy, INRIA Paris-Rocquencourt *) +(* *) +(* Copyright Institut National de Recherche en Informatique et en *) +(* Automatique. All rights reserved. This file is distributed *) +(* under the terms of the INRIA Non-Commercial License Agreement. *) +(* *) +(* *********************************************************************) + +let register_names : (Machregs.mreg, string) Hashtbl.t = Hashtbl.create 31 + +let _ = + List.iter + (fun (s, r) -> Hashtbl.add register_names r (Camlcoq.camlstring_of_coqstring s)) + Machregs.register_names + +let name_of_register r = + Hashtbl.find_opt register_names r + +let register_by_name s = + Machregs.register_by_name (Camlcoq.coqstring_uppercase_ascii_of_camlstring s) |