This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH 00/14] RX cleanup for compare-elimination pass
- From: rth at redhat dot com
- To: gcc-patches at gcc dot gnu dot org
- Cc: nickc at redhat dot com, Richard Henderson <rth at twiddle dot net>
- Date: Fri, 14 Jan 2011 08:08:15 -0800
- Subject: [PATCH 00/14] RX cleanup for compare-elimination pass
From: Richard Henderson <rth@twiddle.net>
Even without the compare-elimination pass enabled, some of these
patches improve optimization. For instance, all of the post-reload
splitters of course improve scheduling freedom. The patch to
cleanup flags generation eliminates the double-sets from most
arithmetic, allowing combine to function properly.
r~
Richard Henderson (14):
rx: Move SELECT_CC_MODE to function.
rx: Remove rx_compare_redundant.
rx: Cleanup conditional branches.
rx: Split cstoresi4 post-reload.
rx: Split movsicc post-reload.
rx: Remove %B workaround.
rx: Implement cstoresf4.
rx: Cleanup flags generation.
rx: Cleanup non-VOIDmode SETs.
rx: Fix incorrect usage of + in output operands.
rx: Rewrite the bit manipulation patterns.
rx: Replace sat builtin with ssaddsi3 pattern.
rx: Split adddi3 and subdi3 after reload.
rx: Enable the compare-elimination pass.
gcc/config/rx/predicates.md | 70 +-
gcc/config/rx/rx-modes.def | 2 +
gcc/config/rx/rx-protos.h | 8 +-
gcc/config/rx/rx.c | 564 ++++++++--------
gcc/config/rx/rx.h | 12 +-
gcc/config/rx/rx.md | 1612 ++++++++++++++++++++++++++++---------------
6 files changed, 1365 insertions(+), 903 deletions(-)
--
1.7.3.4