diff options
author | Xavier Leroy <xavier.leroy@inria.fr> | 2015-05-09 09:00:51 +0200 |
---|---|---|
committer | Xavier Leroy <xavier.leroy@inria.fr> | 2015-05-09 09:00:51 +0200 |
commit | a6b6bf31121d975c915c01f501618d97df7879fb (patch) | |
tree | 061cf73e547622695621fc05ce692c029991c9e0 /cfrontend/C2C.ml | |
parent | 56bac3dc3d45c219db5d9c7b6a97794c00f8115e (diff) | |
download | compcert-a6b6bf31121d975c915c01f501618d97df7879fb.tar.gz compcert-a6b6bf31121d975c915c01f501618d97df7879fb.zip |
Extended inline asm: revised treatment of clobbered registers.
- Treat clobbered registers as being destroyed by EF_inline_asm builtins
(which is the truth, semantically).
- To enable the above, represent clobbers as Coq strings rather than idents
and move register_by_name from Machregsaux.ml to Machregs.v.
- Side benefit: more efficient implementation of Machregsaux.name_of_register.
-# Please enter the commit message for your changes. Lines starting
Diffstat (limited to 'cfrontend/C2C.ml')
-rw-r--r-- | cfrontend/C2C.ml | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/cfrontend/C2C.ml b/cfrontend/C2C.ml index 94f13aa1..6ecdb14e 100644 --- a/cfrontend/C2C.ml +++ b/cfrontend/C2C.ml @@ -847,7 +847,7 @@ let convertAsm loc env txt outputs inputs clobber = let (txt', output', inputs') = ExtendedAsm.transf_asm loc env txt outputs inputs clobber in let clobber' = - List.map intern_string clobber in + List.map (fun s -> coqstring_of_camlstring (String.uppercase s)) clobber in let ty_res = match output' with None -> TVoid [] | Some e -> e.etyp in (* Build the Ebuiltin expression *) |