[LLVMdev] Function attributes and bytecode
Alkis Evlogimenos
alkis at cs.uiuc.edu
Thu Feb 10 20:13:51 PST 2005
On Thursday 10 February 2005 21:47, Markus F.X.J. Oberhumer wrote:
> In order to get more familiar with the llvm sources I've recently
> decided to try to add support for the always_inline and noline function
> attributes.
I believe it is better to let the compiler decide when or not to inline a
function. Most of the times a developer goes overboard with inlining and ends
up with a lot of duplicated code that performs worse (this happened in the
company I used to work for).
> While the core implementation does not look very complicated both on the
> gcc and llvm side it seems that there are no provisions in the bytecode
> to actually store such additonal information (need 2 bits in this case).
> Did I miss something ?
>
> If not, are there any plans to enhance the bytecode for function, type
> and variable attributes ? Calling convention (cdecl, stdcall, ..) will
> sooner or later be needed for Windows, ELF visibility would be nice, and
> things like packed/aligned are often required when talking to the OS
> or some other library.
The is a plan to add calling conventions to llvm functions. See:
http://nondot.org/sabre/LLVMNotes/CustomCallingConventions.txt
If you are interested in tackling this it, it would be a great contribution to
LLVM!
> Even if llvm basically does ignore any "unsupported" attributes the
> CWriter could still use a number of them without major changes.
This will limit the C backend's portability. We would like to avoid using
anything out of ANSI C if we can.
--
Alkis
More information about the llvm-dev
mailing list