2012/9/27 Georg-Johann Lay <a...@gjlay.de>:
> PR52543 required to represent a load from non-generic address spaces as UNSPEC
> instead of as MEM to avoid a gross code bloat.
>
> http://gcc.gnu.org/PR52543
>
> lower-subreg's cost model is still broken: It assumes that any loads from MEM
> are from the generic address space and does not care for address spaces in its
> cost model.
>
> This patch undoes the changes from SVN r185605
>
> http://gcc.gnu.org/viewcvs?view=revision&revision=185605
>
> and installs a different but less intrusive hack around PR52543:
>
> targetm.mode_dependent_address_p has an address space parameter so that the
> backend can pretend all non-generic addresses are mode-dependent.
>
> This keeps lower-subreg.c from splitting the loads, and it is possible to
> represent the loads as MEM and there is no more the need to represent them as
> UNSPECs.
>
> This patch is still not an optimal solution but the code is much closer to a
> clean solution now.
>
> Ok for trunk?

You can apply it.

Denis.

Reply via email to