remove $Id$, it doesn't work with git anyway
[libfirm] / ir / be / sparc / sparc_emitter.h
index 0e36800..6b91a1a 100644 (file)
 /**
  * @file
  * @brief    declarations for emit functions
- * @version  $Id$
+ * @author   Hannes Rapp, Matthias Braun
  */
-#ifndef FIRM_BE_TEMPLATE_TEMPLATE_EMITTER_H
-#define FIRM_BE_TEMPLATE_TEMPLATE_EMITTER_H
+#ifndef FIRM_BE_SPARC_EMITTER_H
+#define FIRM_BE_SPARC_EMITTER_H
 
 #include "irargs_t.h"
 #include "irnode.h"
 #include "debug.h"
 
-#include "../bearch.h"
-#include "../beemitter.h"
+#include "bearch.h"
+#include "beemitter.h"
 
 #include "bearch_sparc_t.h"
 
-//int get_TEMPLATE_reg_nr(ir_node *irn, int posi, int in_out);
-//const char *get_TEMPLATE_in_reg_name(ir_node *irn, int pos);
+/**
+ * indent before instruction. (Adds additional indentation when emitting
+ * delay slots)
+ */
+void sparc_emit_indent(void);
 
 void sparc_emit_immediate(const ir_node *node);
+void sparc_emit_high_immediate(const ir_node *node);
 void sparc_emit_mode(const ir_node *node);
 void sparc_emit_source_register(const ir_node *node, int pos);
 void sparc_emit_reg_or_imm(const ir_node *node, int pos);
 void sparc_emit_dest_register(const ir_node *node, int pos);
-void sparc_emit_offset(const ir_node *node);
+void sparc_emit_offset(const ir_node *node, int offset_node_pos);
 void sparc_emit_load_mode(const ir_node *node);
 void sparc_emit_store_mode(const ir_node *node);
-
-void sparc_gen_routine(const sparc_code_gen_t *cg, ir_graph *irg);
+void sparc_emit_float_load_store_mode(const ir_node *node);
+void sparc_emit_source_reg_and_offset(const ir_node *node, int regpos,
+                                      int offpos);
+void sparc_emit_fp_mode_suffix(const ir_node *node);
+void sparc_emit_fp_conv_source(const ir_node *node);
+void sparc_emit_fp_conv_destination(const ir_node *node);
+
+void sparc_emit_routine(ir_graph *irg);
 
 void sparc_init_emitter(void);