This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]