aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.c
diff options
context:
space:
mode:
authorMichael Matz <matz@suse.de>2009-08-25 13:35:39 +0000
committerMichael Matz <matz@gcc.gnu.org>2009-08-25 13:35:39 +0000
commit4df62c77fe216dd68b85f09d20910203e035efb2 (patch)
treed43aba513d89c453e3953db977ef143d011fa0e4 /gcc/expr.c
parent8e7aa1f9a319b100c721a7d83294a799a295407c (diff)
downloadgcc-4df62c77fe216dd68b85f09d20910203e035efb2.zip
gcc-4df62c77fe216dd68b85f09d20910203e035efb2.tar.gz
gcc-4df62c77fe216dd68b85f09d20910203e035efb2.tar.bz2
expr.h (jumpifnot_1, [...]): Declare.
* expr.h (jumpifnot_1, jumpif_1, do_jump_1): Declare. * dojump.c (do_jump_by_parts_greater): Take two operands instead of full expression. (do_jump_by_parts_equality, do_compare_and_jump): Ditto. (jumpifnot_1, jumpif_1): New wrappers for do_jump_1. (do_jump): Split out code for simple binary comparisons into ... (do_jump_1): ... this, taking the individual operands and code. Change callers to helper function above accordingly. * expr.c (expand_expr_real_1): Use jumpifnot_1 for simple binary comparisons. From-SVN: r151080
Diffstat (limited to 'gcc/expr.c')
-rw-r--r--gcc/expr.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/gcc/expr.c b/gcc/expr.c
index 12d0dc9..a753682 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -8194,7 +8194,6 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode,
modifier);
result = copy_rtx (result);
- /* BLA */
set_mem_attributes (result, exp, 0);
return result;
}
@@ -9169,8 +9168,7 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode,
emit_move_insn (target, const0_rtx);
op1 = gen_label_rtx ();
- /* BLA */
- jumpifnot (exp, op1);
+ jumpifnot_1 (code, treeop0, treeop1, op1);
if (target)
emit_move_insn (target, const1_rtx);