aboutsummaryrefslogtreecommitdiffstats
path: root/src/translation/HTLgen.v
diff options
context:
space:
mode:
authorYann Herklotz <git@yannherklotz.com>2020-06-01 17:33:00 +0100
committerYann Herklotz <git@yannherklotz.com>2020-06-01 17:33:00 +0100
commitd07e10bfd9136f499edc08825b03e5de8199a488 (patch)
tree15c35a4973de8cb4fe262385ff0fe4699f1bb5a0 /src/translation/HTLgen.v
parent71ba686359b9cdf2178d0837552fc564a905b18f (diff)
downloadvericert-kvx-d07e10bfd9136f499edc08825b03e5de8199a488.tar.gz
vericert-kvx-d07e10bfd9136f499edc08825b03e5de8199a488.zip
Add lemmas for preservation of globals
Diffstat (limited to 'src/translation/HTLgen.v')
-rw-r--r--src/translation/HTLgen.v20
1 files changed, 5 insertions, 15 deletions
diff --git a/src/translation/HTLgen.v b/src/translation/HTLgen.v
index 4564237..aa965fc 100644
--- a/src/translation/HTLgen.v
+++ b/src/translation/HTLgen.v
@@ -371,19 +371,9 @@ Definition max_state (f: function) : state :=
Definition transl_module (f : function) : Errors.res module :=
run_mon (max_state f) (transf_module f).
-Fixpoint main_function (main : ident) (flist : list (ident * AST.globdef fundef unit))
-{struct flist} : option function :=
- match flist with
- | (i, AST.Gfun (AST.Internal f)) :: xs =>
- if Pos.eqb i main
- then Some f
- else main_function main xs
- | _ :: xs => main_function main xs
- | nil => None
- end.
+Definition transl_fundef := transf_partial_fundef transl_module.
-Definition transf_program (d : program) : Errors.res module :=
- match main_function d.(AST.prog_main) d.(AST.prog_defs) with
- | Some f => transl_module f
- | _ => Errors.Error (Errors.msg "HTL: could not find main function")
- end.
+(** Translation of a whole program. *)
+
+Definition transl_program (p: RTL.program) : Errors.res HTL.program :=
+ transform_partial_program transl_fundef p.