ir_node *left = get_Add_left(node);
/* is this simple address arithmetic? then we can let the linker do
* the calculation. */
- if (is_SymConst(left)) {
+ if (is_SymConst(left) && get_irn_n_edges(left) == 1) {
dbg_info *dbgi = get_irn_dbg_info(node);
ir_node *block = be_transform_node(get_nodes_block(node));
address_t address;
new_bd_sparc_fdiv_d, new_bd_sparc_fdiv_q);
}
+#if 0
static ir_node *gen_Abs(ir_node *node)
{
ir_mode *const mode = get_irn_mode(node);
return sub;
}
}
+#endif
/**
* Transforms a Not node.
ir_node *op1 = get_binop_left(node);
ir_node *op2 = get_binop_right(node);
if (is_Not(op1)) {
- return gen_helper_binop_args(node, get_Not_op(op1), op2,
+ return gen_helper_binop_args(node, op2, get_Not_op(op1),
MATCH_MODE_NEUTRAL,
new_not_reg, new_not_imm);
}
{
be_start_transform_setup();
- be_set_transform_function(op_Abs, gen_Abs);
be_set_transform_function(op_Add, gen_Add);
be_set_transform_function(op_And, gen_And);
be_set_transform_function(op_Call, gen_Call);