[PATCH 0/9] Enable LRA on SH

Kaz Kojima kkojima@rr.iij4u.or.jp
Thu Dec 18 00:59:00 GMT 2014


This patch series is to make SH target use LRA and is discussed
in the PR target/55212:

[SH] Switch to LRA
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55212

I think there are issues which should be solved before defaulting
LRA on SH and the helps from the experts are needed.  The series
are constructed as

[PATCH 1/9] LRA: Take account implicit usage of pseudo reg in mem arg
[PATCH 2/9] LRA: Swap base_term and index_term for some case
[PATCH 3/9] Add TARGET_CANNOT_SUBSTITUTE_MEM_EQUIV target macro
[PATCH 4/9] Add TARGET_LEGITIMIZE_ADDRESS_DISPLACEMENT target macro
[PATCH 5/9] [SH] Add -mlra option
[PATCH 6/9] [SH] Miscellaneous changes for LRA
[PATCH 7/9] [SH] Modify movsi_ie movsf_ie patterns for LRA
[PATCH 8/9] [SH] Add splitter to addsi3_compact
[PATCH 9/9] [SH] Split QI/HImode load/store via r0

Patch 1-4 touch generic files and 5-9 are SH specific.  1-3, 6 and 7
are for getting rid of ICEs.  4, 8 and 9 are to fix some serious
code regressions.  The patches are tested with bootstrap and the top
level "make -k check" on i686-pc-linux-gnu with no new failures.
-mlra makes ~0.3% code size regression on the current sh-lra branch.
It solves a few known failures and causes a few new failures with
"make -k check" on sh4-unknown-linux-gnu.

Regards,
	kaz



More information about the Gcc-patches mailing list