X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fsparc%2Fsparc_transform.c;h=b5599ad5b2c79afd7087e0ef18d3fc494f695a62;hb=63539488745022b673df05c7dfbe585317db61bd;hp=8eb5e85ad02787a915a59c4db9b851721753bfe1;hpb=3f57d89fcb7055fc726a41aa63214aab97854cdf;p=libfirm diff --git a/ir/be/sparc/sparc_transform.c b/ir/be/sparc/sparc_transform.c index 8eb5e85ad..b5599ad5b 100644 --- a/ir/be/sparc/sparc_transform.c +++ b/ir/be/sparc/sparc_transform.c @@ -413,7 +413,7 @@ static ir_node *gen_Add(ir_node *node) 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; @@ -726,7 +726,7 @@ static ir_node *gen_helper_bitop(ir_node *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); }