[LLVMdev] Registers and isel type inference

David A. Greene greened at obbligato.org
Fri Sep 23 13:38:07 PDT 2011


Jakob Stoklund Olesen <stoklund at 2pi.dk> writes:

> It appears that tablegen is inferring the 'type' of an individual
> register by enumerating all the register classes it appears in.  Some
> things, like using implicit defs in SDNodes, only works for registers
> with a unique type.  My WIDE32 class caused GR32 registers to no
> longer have a unique type, breaking the world.

I can't remeber the specific situation, but I remember running into
this kind of problem before.

> This seems too fragile to me. 

Yes, it is.  :(

> - Disable type inference for individual registers entirely, or
>
> - Add a ValueType field to the Register tablegen class, so types are
>   not inferred by enumerating register classes.

I tend to think the second would be preferable, but how would we handle
registers than can hold different types of values?

                       -Dave



More information about the llvm-dev mailing list