Re: Extracting information from GCC register allocation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Nikolaos Kavvadias <nkavv@xxxxxxxxxxxxxxx> writes:

> 1. Is it possible to emit something close to assembly with
> pseudo-registers instead of registers? I mean, is it possible to do this
> just before each one of these passes? Or would it be possible to
> devise such pass (e.g. an emitter just prior greg). I can see some RTL
> stuff with pseudos (e.g. *.lreg) but is it semantically complete in
> order to be possible to translate it to assembly (even though with
> infinite registers)?

Yes.

> 2. Is it possible to explicitly mark the fill/spill instructions (or
> RTL statements) in such RTL dumps?

It would take a bit of work in reload, but, yes, it is possible.

> 3. Supposedly a <machine.h> description is devised that has a
> ridiculously large of registers (so that spills *almost* never will
> occur).
> Will this approach the effect of register allocation for infinite
> registers or there exist other GCC-specific constraints. What are the
> limits in the number of registers, registers in classes, allocable
> registers etc (i've seen some very bad restrictions in LCC due to the
> use of masks with host-dependent size).

There are no gcc constraints of this form, up to having a few million
hard registers.  Implementing a very large number of hard registers
will tend to slow the compiler down, as there are a number of arrays
and bitmaps which are sized to the number of registers.

> 4. There is some discussion around gmp/mpfr support in GCC lately. Are
> we close to using arbitrary-size integers throught the GCC
> infrastructure?

No, not at all.  That would be very slow and would bring little
benefit.

Ian

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux