module I386_echec: sig endIn 3-addresses codes, the first one is not used and the second will contain the result. %edi is reserved for locally needed registers.
Push_o needs %ecx, %esi and %edi.
Author(s): Samuel Mimram
val string_of_char : char -> stringval list_assoc_id : Asm_ir.variable_def -> (Asm_ir.variable_def * 'a) list -> 'aval list_mem_assoc_id : Asm_ir.variable_def -> (Asm_ir.variable_def * 'a) list -> boolval list_assoc' : 'a -> ('b * 'a) list -> 'bval list_mem_assoc' : 'a -> ('b * 'a) list -> boolval list_itern : (int -> 'a -> 'b) -> 'a list -> unitval esp : Asm_ir.registerval ebp : Asm_ir.registerval eax : Asm_ir.registerval ebx : Asm_ir.registerval ecx : Asm_ir.registerval edx : Asm_ir.registerval esi : Asm_ir.registerval edi : Asm_ir.registerval string_of_register : Asm_ir.register -> stringval get_reg_var : Asm_ir.register -> Asm_ir.variableval get_stack_pos_var : unit -> Asm_ir.variableval nb_registers : intval allocate_registers : Asm_ir.base_block -> int -> unitval local_opt_base_block : Asm_ir.base_block -> unitval generate_code : Asm_ir.program -> string