X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fsparc%2Fbearch_sparc_t.h;h=aae05e84a8399222b7459afa2946648d3d025067;hb=4a97bde79448e3d6119c4b605fd169d485fc7989;hp=c1da87e22e370cc062a109e9eadf6b065f99b603;hpb=2bc2dd4bd4f64982e9c5d2f1ea70d63d0eb10044;p=libfirm diff --git a/ir/be/sparc/bearch_sparc_t.h b/ir/be/sparc/bearch_sparc_t.h index c1da87e22..aae05e84a 100644 --- a/ir/be/sparc/bearch_sparc_t.h +++ b/ir/be/sparc/bearch_sparc_t.h @@ -20,7 +20,7 @@ /** * @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 @@ -31,6 +31,11 @@ #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; @@ -39,7 +44,6 @@ typedef struct _sparc_code_gen_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 */ } sparc_code_gen_t; @@ -62,4 +66,6 @@ struct sparc_transform_env_t { ir_mode *mode; /**< The mode of the irn */ }; +void sparc_finish_irg(sparc_code_gen_t *cg); + #endif