diff options
author | rearnsha <rearnsha@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-08-29 22:10:44 +0000 |
---|---|---|
committer | rearnsha <rearnsha@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-08-29 22:10:44 +0000 |
commit | 367dc0cdc359d5c2ee19a4d2f983f092d185f00e (patch) | |
tree | a4ec15aceec0b091ed501e69eca717c1e7b43626 /gcc/flow.c | |
parent | bbb82bbf2e7663e15d60b83225ae3e363c55c11d (diff) | |
download | gcc-367dc0cdc359d5c2ee19a4d2f983f092d185f00e.tar.gz |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86737 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/flow.c')
-rw-r--r-- | gcc/flow.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/gcc/flow.c b/gcc/flow.c index 3db96daf4ea..abbac675b80 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) |