Replacing reload: Resolving operand constraints before register allocation.
Michael Matz
matz@suse.de
Thu Apr 3 20:02:00 GMT 2003
Hi,
On Thu, 3 Apr 2003, Johannes Thoma wrote:
> To make the final assignment match the register allocators decision,
> one could alter the insn chain such that all operands match their
> constraints (still working with pseudo registers) *before* doing
> register allocation
This is the idea behind pre-reload, and it's sort of implemented since
some time already. It doesn't yet solve all cases, but is quite good at
avoiding reloads.
> Is somebody (besides me) currently working on this?
Look at the new-regalloc-branch. In particular pre-reload.*. But also
keep in mind, that something like reload itself is still needed later to
make some insns valid. In general it's not easily possible to make insns
not needing reload before actually assigning hard regs to them (for
instance the assignment can constrain an insn to one certain alternative
which has different constraints from those initially thought). But it's
possible to reach a state where real reloads are really seldom, and
because of that the reload pass itself could be greatly simplified.
Ciao,
Michael.
More information about the Gcc
mailing list