Up – Package index » jasmin » Library jasmin.jasmin » Jasmin » Compilerjasmin README Library jasmin.jasmin Library jasmin.uint63 Library jasmin.uint63-js Library jasmin.uint63-native Sources type compiler_step = | Typing | ParamsExpansion | WintWord | ArrayCopy | AddArrInit | LowerSpill | Inlining | RemoveUnusedFunction | Unrolling | Splitting | Renaming | RemovePhiNodes | DeadCode_Renaming | RemoveArrInit | MakeRefArguments | RegArrayExpansion | RemoveGlobal | LoadConstantsInCond | LowerInstruction | PropagateInline | SLHLowering | LowerAddressing | StackAllocation | RemoveReturn | RegAllocation | DeadCode_RegAllocation | Linearization | StackZeroization | Tunneling | Assembly val compiler_step_rect :
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
compiler_step ->
'a1 val compiler_step_rec :
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
compiler_step ->
'a1 type is_compiler_step = | Coq_is_Typing | Coq_is_ParamsExpansion | Coq_is_WintWord | Coq_is_ArrayCopy | Coq_is_AddArrInit | Coq_is_LowerSpill | Coq_is_Inlining | Coq_is_RemoveUnusedFunction | Coq_is_Unrolling | Coq_is_Splitting | Coq_is_Renaming | Coq_is_RemovePhiNodes | Coq_is_DeadCode_Renaming | Coq_is_RemoveArrInit | Coq_is_MakeRefArguments | Coq_is_RegArrayExpansion | Coq_is_RemoveGlobal | Coq_is_LoadConstantsInCond | Coq_is_LowerInstruction | Coq_is_PropagateInline | Coq_is_SLHLowering | Coq_is_LowerAddressing | Coq_is_StackAllocation | Coq_is_RemoveReturn | Coq_is_RegAllocation | Coq_is_DeadCode_RegAllocation | Coq_is_Linearization | Coq_is_StackZeroization | Coq_is_Tunneling | Coq_is_Assembly val is_compiler_step_rect :
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
compiler_step ->
is_compiler_step ->
'a1 val is_compiler_step_rec :
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
compiler_step ->
is_compiler_step ->
'a1 type box_compiler_step_Typing = | Box_compiler_step_Typing type compiler_step_fields_t = __ val compiler_step_induction :
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
'a1 ->
compiler_step ->
is_compiler_step ->
'a1 val split_live_ranges_prog :
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.asm_extra ->
(('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.extended_op , 'a8 )
compiler_params ->
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.extended_op Expr._uprog ->
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.extended_op Expr._uprog val renaming_prog :
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.asm_extra ->
(('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.extended_op , 'a8 )
compiler_params ->
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.extended_op Expr._uprog ->
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.extended_op Expr._uprog val remove_phi_nodes_prog :
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.asm_extra ->
(('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.extended_op , 'a8 )
compiler_params ->
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.extended_op Expr._uprog ->
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.extended_op Expr._uprog val var_tmp :
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.asm_extra ->
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 , 'a8 ) Arch_params.architecture_params ->
Var0.Var.var val var_tmp2 :
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.asm_extra ->
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 , 'a8 ) Arch_params.architecture_params ->
Var0.Var.var val var_tmps :
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.asm_extra ->
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 , 'a8 ) Arch_params.architecture_params ->
Var0.SvExtra.Sv.t val live_range_splitting :
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.asm_extra ->
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 , 'a8 ) Arch_params.architecture_params ->
(('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.extended_op , 'a8 )
compiler_params ->
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.extended_op Expr.uprog ->
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.extended_op Expr.uprog
Compiler_util.cexec val inlining :
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.asm_extra ->
(('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.extended_op , 'a8 )
compiler_params ->
Var0.funname list ->
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.extended_op Expr.uprog ->
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.extended_op Expr.uprog
Compiler_util.cexec val compiler_first_part :
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.asm_extra ->
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 , 'a8 ) Arch_params.architecture_params ->
(('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.extended_op , 'a8 )
compiler_params ->
Var0.funname list ->
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.extended_op Expr.uprog ->
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.extended_op Expr.uprog
Compiler_util.cexec val compiler_third_part :
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.asm_extra ->
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 , 'a8 ) Arch_params.architecture_params ->
(('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.extended_op , 'a8 )
compiler_params ->
(Var0.funname -> Datatypes.nat option list option ) ->
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.extended_op Expr.sprog ->
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.extended_op Expr.sprog
Compiler_util.cexec val allNone : 'a1 option list -> boolval check_wf_ptr :
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.asm_extra ->
Var0.funname list ->
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.extended_op Expr.uprog ->
(Var0.funname -> Stack_alloc.stk_alloc_oracle_t ) ->
unit Compiler_util.cexec val compiler_front_end :
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.asm_extra ->
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 , 'a8 ) Arch_params.architecture_params ->
(('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.extended_op , 'a8 )
compiler_params ->
Var0.funname list ->
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.extended_op Expr.uprog ->
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.extended_op Expr.sprog
Compiler_util.cexec val check_export :
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.asm_extra ->
Var0.funname list ->
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.extended_op Expr.sprog ->
unit Compiler_util.cexec val compiler_back_end :
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.asm_extra ->
('a1 , 'a2 , 'a3 , 'a4 , 'a5 ) Arch_decl.calling_convention ->
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 , 'a8 ) Arch_params.architecture_params ->
(('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.extended_op , 'a8 )
compiler_params ->
Var0.funname list ->
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.extended_op Expr.sprog ->
(Compiler_util.pp_error_loc ,
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.extended_op Linear.lprog )
Utils0.result val compiler_back_end_to_asm :
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.asm_extra ->
('a1 , 'a2 , 'a3 , 'a4 , 'a5 ) Arch_decl.calling_convention ->
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 , 'a8 ) Arch_params.architecture_params ->
(('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.extended_op , 'a8 )
compiler_params ->
Var0.funname list ->
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.extended_op Expr.sprog ->
(Compiler_util.pp_error_loc ,
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 ) Arch_decl.asm_prog )
Utils0.result val compile_prog_to_asm :
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.asm_extra ->
('a1 , 'a2 , 'a3 , 'a4 , 'a5 ) Arch_decl.calling_convention ->
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 , 'a8 ) Arch_params.architecture_params ->
(('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.extended_op , 'a8 )
compiler_params ->
Var0.funname list ->
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 , 'a7 ) Arch_extra.extended_op Expr.uprog ->
('a1 , 'a2 , 'a3 , 'a4 , 'a5 , 'a6 ) Arch_decl.asm_prog Compiler_util.cexec