[LLVMdev] How to represent __attribute__((fastcall)) functions in the IL
Rafael EspĂndola
rafael.espindola at gmail.com
Fri Oct 19 09:27:37 PDT 2012
> 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.
Implementing that requires way more time than I have right now, but I
think this proposal is a small step in the right direction as it makes
clang the one responsible for marking an argument as memory or
register.
Cheers,
Rafael
More information about the llvm-dev
mailing list