diff options
author | bonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-03-21 14:38:01 +0000 |
---|---|---|
committer | bonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-03-21 14:38:01 +0000 |
commit | 0fc1e6fa55ab2c412298e947ef56fff54d256d8d (patch) | |
tree | 11d1dc2d20769a88c452555a826eb05acdb56978 /gcc/jump.c | |
parent | 4a4d48d5d8e969366d5109f5508b3bb53f0693a9 (diff) | |
download | gcc-0fc1e6fa55ab2c412298e947ef56fff54d256d8d.tar.gz |
2005-03-21 Paolo Bonzini <bonzini@gnu.org>
* combine.c (combine_simplify_rtx, simplify_if_then_else,
simplify_logical, if_then_else_cond, known_cond,
simplify_comparison): Adjust calls to reverse_comparison.
Don't use combine_reversed_comparison_code).
(combine_reversed_comparison_code): Remove.
(reversed_comparison): Using reversed_comparison_code, move it...
* jump.c (reversed_comparison): ... here.
* rtl.h (reversed_comparison): Add prototype.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96801 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/jump.c')
-rw-r--r-- | gcc/jump.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/gcc/jump.c b/gcc/jump.c index a120300fc09..dc81c521851 100644 --- a/gcc/jump.c +++ b/gcc/jump.c @@ -449,6 +449,20 @@ reversed_comparison_code (rtx comparison, rtx insn) XEXP (comparison, 0), XEXP (comparison, 1), insn); } + +/* Return comparison with reversed code of EXP. + Return NULL_RTX in case we fail to do the reversal. */ +rtx +reversed_comparison (rtx exp, enum machine_mode mode) +{ + enum rtx_code reversed_code = reversed_comparison_code (exp, NULL_RTX); + if (reversed_code == UNKNOWN) + return NULL_RTX; + else + return simplify_gen_relational (reversed_code, mode, VOIDmode, + XEXP (exp, 0), XEXP (exp, 1)); +} + /* Given an rtx-code for a comparison, return the code for the negated comparison. If no such code exists, return UNKNOWN. |