diff options
| author | Thomas Bauereiss | 2018-12-18 15:16:36 +0000 |
|---|---|---|
| committer | Thomas Bauereiss | 2018-12-18 15:16:36 +0000 |
| commit | 1766bf5e3628b5c45290a3353bec05823661b9d3 (patch) | |
| tree | cae2f596d135074399cd304bb8e3dca1330a2aa8 /src/c_backend.mli | |
| parent | df0e02bc0c8259962f25d4c175fa950391695ab6 (diff) | |
| parent | 07a332c856b3ee9fe26a9cd47ea6005f9d579810 (diff) | |
Merge branch 'sail2' into monads
Diffstat (limited to 'src/c_backend.mli')
| -rw-r--r-- | src/c_backend.mli | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/c_backend.mli b/src/c_backend.mli index 170c5bd9..24f6e03b 100644 --- a/src/c_backend.mli +++ b/src/c_backend.mli @@ -53,7 +53,8 @@ open Type_check (** Global compilation options *) -val opt_ddump_flow_graphs : bool ref +val opt_debug_flow_graphs : bool ref +val opt_debug_function : string ref val opt_trace : bool ref val opt_static : bool ref val opt_no_main : bool ref @@ -63,17 +64,26 @@ val opt_no_main : bool ref val optimize_primops : bool ref val optimize_hoist_allocations : bool ref val optimize_struct_updates : bool ref +val optimize_alias : bool ref +val optimize_experimental : bool ref (** The compilation context. *) type ctx +(** Convert a typ to a IR ctyp *) +val ctyp_of_typ : ctx -> Ast.typ -> ctyp + (** Create a context from a typechecking environment. This environment should be the environment returned by typechecking the full AST. *) val initial_ctx : Env.t -> ctx +val compile_aexp : ctx -> Ast.typ Anf.aexp -> instr list * (clexp -> instr) * instr list + val compile_ast : ctx -> string list -> tannot Ast.defs -> unit val bytecode_ast : ctx -> (cdef list -> cdef list) -> tannot Ast.defs -> cdef list (** Rewriting steps for compiled ASTs *) -val flatten_instrs : cdef -> cdef +val flatten_instrs : instr list -> instr list + +val flatten_cdef : cdef -> cdef |
