assert(attr->tv != NULL);
if(get_mode_sign(get_tarval_mode(attr->tv))) {
long val = get_tarval_long(attr->tv);
- snprintf(buf, sizeof(buf), "0x%04X", val & 0xffff);
+ snprintf(buf, sizeof(buf), "0x%04lX", val & 0xffff);
} else {
unsigned long val = get_tarval_long(attr->tv);
- snprintf(buf, sizeof(buf), "0x%04X", val & 0xffff);
+ snprintf(buf, sizeof(buf), "0x%04lX", val & 0xffff);
}
return buf;
if(get_mode_sign(get_tarval_mode(attr->tv))) {
long val = get_tarval_long(attr->tv);
val = (val & 0xffff0000) >> 16;
- snprintf(buf, sizeof(buf), "0x%04X", val & 0xffff);
+ snprintf(buf, sizeof(buf), "0x%04lX", val & 0xffff);
} else {
unsigned long val = get_tarval_long(attr->tv);
val = (val & 0xffff0000) >> 16;
- snprintf(buf, sizeof(buf), "0x%04X", val & 0xffff);
+ snprintf(buf, sizeof(buf), "0x%04lX", val & 0xffff);
}
return buf;
}
/************************************************************************/
-/* ABI Handling
+/* ABI Handling */
/************************************************************************/
static void mips_emit_IncSP(const ir_node *node, mips_emit_env_t *env)
{
- FILE *F = env->out;
- int offset = be_get_IncSP_offset(node);
+ FILE *F = env->out;
+ int offset = be_get_IncSP_offset(node);
+
if(offset == 0)
return;
static void mips_emit_Perm(const ir_node *node, mips_emit_env_t *env)
{
- FILE* F = env->out;
+ FILE *F = env->out;
assert(/*get_irn_n_outs(node) == 2 &&*/ get_irn_arity(node) == 2);
static void mips_emit_Spill(const ir_node* node, mips_emit_env_t *env)
{
- FILE* F = env->out;
+ FILE *F = env->out;
+ entity *ent = be_get_spill_entity(node);
- ir_node* context = be_get_Spill_context(node);
- entity* ent = be_get_spill_entity(node);
lc_efprintf(mips_get_arg_env(), F, "\tsw %1S, %d($fp)\n", node, get_entity_offset_bytes(ent));
}
static void mips_emit_Reload(const ir_node* node, mips_emit_env_t *env)
{
- FILE* F = env->out;
+ FILE *F = env->out;
+ entity *ent = be_get_spill_entity(node);
- entity* ent = be_get_spill_entity(node);
lc_efprintf(mips_get_arg_env(), F, "\tlw %1D, %d($fp)\n", node, get_entity_offset_bytes(ent));
}
/************************************************************************/
-/* Calls
+/* Calls */
/************************************************************************/
static void mips_emit_Call(ir_node *node, mips_emit_env_t *env)
* possible otherwise a cmp-jmp cascade). Stolen from ia32
*/
void emit_mips_jump_table(const ir_node *irn, FILE* F) {
- int lastval, i, pn, do_jmp_tbl = 1;
- jmp_tbl_t tbl;
- ir_node *proj;
- const ir_edge_t *edge;
- const lc_arg_env_t *env = mips_get_arg_env();
- mips_attr_t *attr;
- int i2;
-
- attr = get_mips_attr(irn);
+ int lastval, i, i2, pn;
+ jmp_tbl_t tbl;
+ ir_node *proj;
+ const ir_edge_t *edge;
+ mips_attr_t *attr = get_mips_attr(irn);
/* fill the table structure */
tbl.label = xmalloc(SNPRINTF_BUF_LEN);
*/
static void mips_emit_node(ir_node *irn, mips_emit_env_t* env)
{
- mips_emit_env_t *emit_env = env;
- firm_dbg_module_t *mod = emit_env->mod;
+ mips_emit_env_t *emit_env = env;
FILE *F = emit_env->out;
ir_op *op = get_irn_op(irn);
+ DEBUG_ONLY(firm_dbg_module_t *mod = emit_env->mod;)
DBG((mod, LEVEL_1, "emitting code for %+F\n", irn));
mips_emit_env_t emit_env;
int i, n;
- emit_env.mod = firm_dbg_register("firm.be.mips.emit");
emit_env.out = F;
emit_env.arch_env = cg->arch_env;
emit_env.cg = cg;
+ FIRM_DBG_REGISTER(emit_env.mod, "firm.be.mips.emit");
/* set the global arch_env (needed by print hooks) */
arch_env = cg->arch_env;