This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
RE: postreload problem using reload_inm and SECONDARY_RELOAD macros
Yes I know gcc 3.4.6 is quite old :) but the backend work has started on this version for bad reasons and now we plan to make something work (pass a few test cases) before migrating to last gcc 4 version.
Concerning REGISTER_MOVE_COST, I don't know what can be fixed with it.
The 3 params of REGISTER_MOVE_COST are (machine_mode mode, regclass from, reg_class to).
So I can only write cost for register to register moves.
I don't see any suitable macro to specify immediate to register moves. (in gcc3.4.6 internals ....)
Nevertheless, the REGISTER_MOVE_COST is defined with costs 3 for all valid moves (C_REGS <-> R_REGS).
Is there a way to prevent totally the allocation of a hard register in specific context using 'costs'?
-----Message d'origine-----
DeÂ: Ian Lance Taylor [mailto:iant@google.com]
EnvoyÃÂ: mercredi 14 septembre 2011 15:40
ÃÂ: BELBACHIR Selim
CcÂ: gcc@gcc.gnu.org
ObjetÂ: Re: postreload problem using reload_inm and SECONDARY_RELOAD macros
BELBACHIR Selim <selim.belbachir@fr.thalesgroup.com> writes:
> I'm writing a backend for gcc3.4.6 and I'm a bit confused about reload passes.
You know gcc 3.4.6 is really old, right?
> I have no mean to express this limitation inside predicates (because
> pseudo register don't known in which hard register they will be
> allocated), reload pass create some moves from immediate to $R. :
First guess would be REGISTER_MOVE_COST.
Ian