/**
* @file
* @brief declarations for SPARC backend -- private header
- * @version $Id: bearch_TEMPLATE_t.h 26542 2009-09-18 09:18:32Z matze $
+ * @version $Id$
*/
#ifndef FIRM_BE_SPARC_BEARCH_TEMPLATE_T_H
#define FIRM_BE_SPARC_BEARCH_TEMPLATE_T_H
#include "../beemitter.h"
#include "set.h"
+// sparc ABI requires a min stacksize to
+// save registers in case of a trap etc.
+// by now we assume only non-leaf procedures: 92 + 4 (padding)
+#define SPARC_MIN_STACKSIZE 112
+
typedef struct sparc_transform_env_t sparc_transform_env_t;
typedef struct _sparc_isa_t sparc_isa_t;
ir_graph *irg; /**< current irg */
set *reg_set; /**< set to memorize registers for FIRM nodes (e.g. phi) */
sparc_isa_t *isa; /**< the isa instance */
- be_irg_t *birg; /**< The be-irg (contains additional information about the irg) */
char dump; /**< set to 1 if graphs should be dumped */
- firm_dbg_module_t *mod; /**< debugging module */
} sparc_code_gen_t;
ir_mode *mode; /**< The mode of the irn */
};
+void sparc_finish_irg(sparc_code_gen_t *cg);
+
#endif