[LLVMdev] How to represent __attribute__((fastcall)) functions in the IL
Chris Lattner
clattner at apple.com
Sat Oct 20 08:14:29 PDT 2012
On Oct 20, 2012, at 12:58 AM, Duncan Sands <baldrick at free.fr> wrote:
> Hi Rafael,
>
> On 19/10/12 18:27, Rafael EspĂndola wrote:
>>> Don't get me wrong, I don't have any good ideas about how to do this, I'm
>>> just hoping someone does. End result might allow something like:
>>>
>>> declare void @foo(double inreg <eax,edx> %x)
>>
>> Not sure I would go all the way to specifying registers in the IL
>> (although I liked it at some point). What I like most right now is
>> something along the lines of
>> http://llvm.org/pr12193. That makes it explicit if something is on the
>> stack or in registers and that information is correct for both the
>> caller and callee. What is left for codegen is counting the register
>> arguments and computing stack offsets.
>
> I'm 100% in favour of having "onstack" as a complement to "inreg". I'm
> not so happy about the more funky changes you suggested in the PR, namely
> having the callee no longer match the caller, but "onstack" itself makes
> a lot of sense to me.
Makes a lot of sense to me too.
-Chris
More information about the llvm-dev
mailing list