aboutsummaryrefslogtreecommitdiff
path: root/gcc/flow.c
diff options
context:
space:
mode:
authorRichard Earnshaw <rearnsha@arm.com>2004-08-29 22:10:44 +0000
committerRichard Earnshaw <rearnsha@gcc.gnu.org>2004-08-29 22:10:44 +0000
commit15dce8121ca2dd2fab01f249c714ea3726cecc41 (patch)
treea4ec15aceec0b091ed501e69eca717c1e7b43626 /gcc/flow.c
parent6903ecd4918625b0d1117747d1500079f4fb9a12 (diff)
downloadgcc-15dce8121ca2dd2fab01f249c714ea3726cecc41.zip
gcc-15dce8121ca2dd2fab01f249c714ea3726cecc41.tar.gz
gcc-15dce8121ca2dd2fab01f249c714ea3726cecc41.tar.bz2
flow.c (REVERSE_CONDEXEC_PREDICATES_P): Use the whole comparison, not just the codes, call reversed_comparison_code ().
* flow.c (REVERSE_CONDEXEC_PREDICATES_P): Use the whole comparison, not just the codes, call reversed_comparison_code (). (ior_reg_cond): Update arguments to REVERSE_CONDEXEC_PREDICATES_P. (not_reg_cond): Use reversed_comparison_code. (and_reg_cond): Likewise. * ifcvt.c (cond_exec_process_if_block): Likewise. * doc/tm.texi (REVERSE_CONDEXEC_PREDICATES_P): Update documentation. From-SVN: r86737
Diffstat (limited to 'gcc/flow.c')
-rw-r--r--gcc/flow.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/gcc/flow.c b/gcc/flow.c
index 3db96da..abbac67 100644
--- a/gcc/flow.c
+++ b/gcc/flow.c
@@ -160,7 +160,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#ifdef HAVE_conditional_execution
#ifndef REVERSE_CONDEXEC_PREDICATES_P
-#define REVERSE_CONDEXEC_PREDICATES_P(x, y) ((x) == reverse_condition (y))
+#define REVERSE_CONDEXEC_PREDICATES_P(x, y) \
+ (GET_CODE ((x)) == reversed_comparison_code ((y), NULL))
#endif
#endif
@@ -2996,7 +2997,7 @@ ior_reg_cond (rtx old, rtx x, int add)
if (COMPARISON_P (old))
{
if (COMPARISON_P (x)
- && REVERSE_CONDEXEC_PREDICATES_P (GET_CODE (x), GET_CODE (old))
+ && REVERSE_CONDEXEC_PREDICATES_P (x, old)
&& REGNO (XEXP (x, 0)) == REGNO (XEXP (old, 0)))
return const1_rtx;
if (GET_CODE (x) == GET_CODE (old)
@@ -3079,14 +3080,11 @@ ior_reg_cond (rtx old, rtx x, int add)
static rtx
not_reg_cond (rtx x)
{
- enum rtx_code x_code;
-
if (x == const0_rtx)
return const1_rtx;
else if (x == const1_rtx)
return const0_rtx;
- x_code = GET_CODE (x);
- if (x_code == NOT)
+ if (GET_CODE (x) == NOT)
return XEXP (x, 0);
if (COMPARISON_P (x)
&& REG_P (XEXP (x, 0)))
@@ -3094,7 +3092,7 @@ not_reg_cond (rtx x)
if (XEXP (x, 1) != const0_rtx)
abort ();
- return gen_rtx_fmt_ee (reverse_condition (x_code),
+ return gen_rtx_fmt_ee (reversed_comparison_code (x, NULL),
VOIDmode, XEXP (x, 0), const0_rtx);
}
return gen_rtx_NOT (0, x);
@@ -3108,7 +3106,7 @@ and_reg_cond (rtx old, rtx x, int add)
if (COMPARISON_P (old))
{
if (COMPARISON_P (x)
- && GET_CODE (x) == reverse_condition (GET_CODE (old))
+ && GET_CODE (x) == reversed_comparison_code (old, NULL)
&& REGNO (XEXP (x, 0)) == REGNO (XEXP (old, 0)))
return const0_rtx;
if (GET_CODE (x) == GET_CODE (old)