Module Sparc


module Sparc: sig  end
sparc backend.
Author(s): Samuel Mimram, Julien Cristau

val string_of_char : char -> string
val list_assoc_id : Asm_ir.variable_def -> (Asm_ir.variable_def * 'a) list -> 'a
val list_mem_assoc_id : Asm_ir.variable_def -> (Asm_ir.variable_def * 'a) list -> bool
val list_assoc' : 'a -> ('b * 'a) list -> 'b
val list_mem_assoc' : 'a -> ('b * 'a) list -> bool
val list_itern : (int -> 'a -> 'b) -> 'a list -> unit
val sp : Asm_ir.register
val fp : Asm_ir.register
val get_reg_var : Asm_ir.register -> Asm_ir.variable
val get_stack_pos_var : unit -> Asm_ir.variable
Get a variable containing the address of the top of the stack.
val nb_registers : int
Total number of available registers (warning: register numbers are zero-based).
val allocate_registers : Asm_ir.base_block -> int -> unit
Do the registers allocation. This is done base block by base block (all registers should be available at the beginning of each base block and all variables needed again should be spilled at the end of each base block). %edx is reserved for loading values passed by reference.

Generate the target asm.

val generate_code : Asm_ir.program -> string