diff options
author | Michael Matz <matz@suse.de> | 2009-08-25 13:35:39 +0000 |
---|---|---|
committer | Michael Matz <matz@gcc.gnu.org> | 2009-08-25 13:35:39 +0000 |
commit | 4df62c77fe216dd68b85f09d20910203e035efb2 (patch) | |
tree | d43aba513d89c453e3953db977ef143d011fa0e4 /gcc/expr.h | |
parent | 8e7aa1f9a319b100c721a7d83294a799a295407c (diff) | |
download | gcc-4df62c77fe216dd68b85f09d20910203e035efb2.tar.gz |
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.h')
-rw-r--r-- | gcc/expr.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/expr.h b/gcc/expr.h index 228a34597be..fbec387e300 100644 --- a/gcc/expr.h +++ b/gcc/expr.h @@ -579,13 +579,16 @@ extern tree string_constant (tree, tree *); /* Generate code to evaluate EXP and jump to LABEL if the value is zero. */ extern void jumpifnot (tree, rtx); +extern void jumpifnot_1 (enum tree_code, tree, tree, rtx); /* Generate code to evaluate EXP and jump to LABEL if the value is nonzero. */ extern void jumpif (tree, rtx); +extern void jumpif_1 (enum tree_code, tree, tree, rtx); /* Generate code to evaluate EXP and jump to IF_FALSE_LABEL if the result is zero, or IF_TRUE_LABEL if the result is one. */ extern void do_jump (tree, rtx, rtx); +extern void do_jump_1 (enum tree_code, tree, tree, rtx, rtx); extern void do_compare_rtx_and_jump (rtx, rtx, enum rtx_code, int, enum machine_mode, rtx, rtx, rtx); |