summaryrefslogtreecommitdiff
path: root/gcc/expr.h
diff options
context:
space:
mode:
authormatz <matz@138bc75d-0d04-0410-961f-82ee72b054a4>2009-08-25 13:35:39 +0000
committermatz <matz@138bc75d-0d04-0410-961f-82ee72b054a4>2009-08-25 13:35:39 +0000
commit235978c1d0b61f594af8e59257ccebdbb1b5d2fd (patch)
treed43aba513d89c453e3953db977ef143d011fa0e4 /gcc/expr.h
parent2c02962cf935ac329a5069f6721839c3c1a3d331 (diff)
downloadgcc-235978c1d0b61f594af8e59257ccebdbb1b5d2fd.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@151080 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/expr.h')
-rw-r--r--gcc/expr.h3
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);