/**
* @file
* @brief The main sparc backend driver file.
- * @version $Id: bearch_TEMPLATE.c 26673 2009-10-01 16:43:13Z matze $
+ * @version $Id$
*/
#include "config.h"
sched_add_after(sched_point, load);
sched_remove(node);
- proj = new_rd_Proj(dbgi, block, load, mode, pn_sparc_Load_res);
+ proj = new_rd_Proj(dbgi, load, mode, pn_sparc_Load_res);
reg = arch_get_irn_register(node);
arch_set_irn_register(proj, reg);
//cg->unknown_fpa = NULL;
cg->dump = (birg->main_env->options->dump_flags & DUMP_BE) ? 1 : 0;
- FIRM_DBG_REGISTER(cg->mod, "firm.be.sparc.cg");
-
/* enter the current code generator */
isa->cg = cg;
static int run_once = 0;
sparc_isa_t *isa;
- if(run_once)
+ if (run_once)
return NULL;
run_once = 1;
sparc_isa_t *isa = self;
/* emit now all global declarations */
- be_gas_emit_decls(isa->arch_env.main_env, 0);
+ be_gas_emit_decls(isa->arch_env.main_env);
be_emit_exit();
free(self);
* @param mode The mode in question.
* @return A register class which can hold values of the given mode.
*/
-const arch_register_class_t *sparc_get_reg_class_for_mode(const ir_mode *mode)
+static const arch_register_class_t *sparc_get_reg_class_for_mode(const ir_mode *mode)
{
if (mode_is_float(mode))
return &sparc_reg_classes[CLASS_sparc_fp];
(void) mem;
(void) stack_bias;
- if(env->flags.try_omit_fp)
+ if (env->flags.try_omit_fp)
return env->arch_env->sp;
//panic("framepointer not implemented yet");
* @param method_type The type of the method (procedure) in question.
* @param abi The abi object to be modified
*/
-void sparc_get_call_abi(const void *self, ir_type *method_type,
- be_abi_call_t *abi)
+static void sparc_get_call_abi(const void *self, ir_type *method_type,
+ be_abi_call_t *abi)
{
ir_type *tp;
ir_mode *mode;
}
}
-int sparc_to_appear_in_schedule(void *block_env, const ir_node *irn)
+static int sparc_to_appear_in_schedule(void *block_env, const ir_node *irn)
{
(void) block_env;
- if(!is_sparc_irn(irn))
+ if (!is_sparc_irn(irn))
return -1;
return 1;
/**
* Returns the libFirm configuration parameter for this backend.
*/
-static const backend_params *sparc_get_backend_params(void) {
+static const backend_params *sparc_get_backend_params(void)
+{
static backend_params p = {
0, /* no dword lowering */
0, /* no inline assembly */
{
(void) irn;
/* TODO */
- assert(0);
- return NULL;
+ panic("sparc_get_allowed_execution_units not implemented yet");
}
static const be_machine_t *sparc_get_machine(const void *self)
{
(void) self;
/* TODO */
- assert(0);
- return NULL;
+ panic("sparc_get_machine not implemented yet");
}
static ir_graph **sparc_get_backend_irg_list(const void *self,
sparc_is_valid_clobber
};
+BE_REGISTER_MODULE_CONSTRUCTOR(be_init_arch_sparc);
void be_init_arch_sparc(void)
{
be_register_isa_if("sparc", &sparc_isa_if);
sparc_init_transform();
sparc_init_emitter();
}
-BE_REGISTER_MODULE_CONSTRUCTOR(be_init_arch_sparc);