[LLVMdev] registers as home location
Eli Friedman
eli.friedman at gmail.com
Thu Jul 16 15:12:38 PDT 2009
On Thu, Jul 16, 2009 at 2:41 PM, shreyas krishnan<shreyas76 at gmail.com> wrote:
> Thanks Eli, Jaffrey for the pointer!
>
> A couple of further questions if I may
> 1. Isnt this assuming that register being pinned to is always esi when
> it comes to using a calling convention.
You'd need a separate calling convention for each possible set of
registers pinned. The combinatoric possibilities can get ugly, but
you probably only need a small fraction of the possibilities.
> 2. I would also like to allocate some small aggregates into registers.
> I understand that the code generation would need to be non trivially
> modified to do this.
You can always just split them in your pass... I don't know off the
top of my head whether returning a nested structure works at the
moment.
> I am wondering if it would be possible to create a map of this
> information and using it in a modified existing allocator.
> Modification would make sure the already allocated registers are not
> available.
You could, but it would be an ugly hack.
-Eli
More information about the llvm-dev
mailing list