aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.h
diff options
context:
space:
mode:
authorRoger Sayle <roger@eyesopen.com>2006-02-13 01:55:37 +0000
committerRoger Sayle <sayle@gcc.gnu.org>2006-02-13 01:55:37 +0000
commitfeb04780354bec2f694f65e7b7a5b20ab07b3c0d (patch)
tree3d8ced1bf10347b4692e3a1210b4de3fd48c5e58 /gcc/expr.h
parentc0c84a897e862589a0bde45ce884c2d0fb7dda7b (diff)
downloadgcc-feb04780354bec2f694f65e7b7a5b20ab07b3c0d.zip
gcc-feb04780354bec2f694f65e7b7a5b20ab07b3c0d.tar.gz
gcc-feb04780354bec2f694f65e7b7a5b20ab07b3c0d.tar.bz2
re PR middle-end/25724 (Emits call to __cmpdi2 for long long comparison in switches)
PR middle-end/25724 * dojump.c (do_jump): Call do_compare_rtx_and_jump. (do_jump_parts_zero_rtx): New function renamed from do_jump_parts_equality_rtx. Made static. Add a mode argument. (do_jump_parts_equality_rtx): New function split out from do_jump_parts_equality. Old implementation renamed as above. Call do_jump_parts_zero_rtx if either operand is zero. (do_jump_parts_equality): Call do_jump_parts_equality_rtx to do all of the heavy lifting. (do_compare_rtx_and_jump): Handle multi-word comparisons by calling either do_jump_by_parts_greater_rtx or do_jump_by_parts_equality_rtx. * expr.h (do_jump_by_parts_equality_rtx): Remove prototype. * expmed.c (do_cmp_and_jump): Now multi-word optimization has moved to do_compare_rtx_and_jump, call it directly. * stmt.c (do_jump_if_equal): Remove static prototype. Add a mode argument. Call do_compare_rtx_and_jump. (emit_case_nodes): Update calls to do_jump_if_equal. From-SVN: r110906
Diffstat (limited to 'gcc/expr.h')
-rw-r--r--gcc/expr.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/gcc/expr.h b/gcc/expr.h
index 2be4100..f1cf081 100644
--- a/gcc/expr.h
+++ b/gcc/expr.h
@@ -1,6 +1,6 @@
/* Definitions for code generation pass of GNU compiler.
Copyright (C) 1987, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
- 1999, 2000, 2001, 2002, 2003, 2004, 2005
+ 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
This file is part of GCC.
@@ -743,7 +743,6 @@ extern void init_all_optabs (void);
/* Call this to initialize an optab function entry. */
extern rtx init_one_libfunc (const char *);
-extern void do_jump_by_parts_equality_rtx (rtx, rtx, rtx);
extern void do_jump_by_parts_greater_rtx (enum machine_mode, int, rtx, rtx,
rtx, rtx);