[LLVMdev] CWriter outputs non-portable use of alloca.h
Brian R. Gaeke
gaeke at uiuc.edu
Mon Jun 16 18:12:01 PDT 2003
> On Mon, 2003-06-16 at 17:33, John Criswell wrote:
> > What would be better yet is to modify the code so that it does not use
> > alloca() at all. There seems to be little reason to use it aside from
> > convenience (but perhaps I have missed something).
>
> I think the idea is that alloca can give (probably significant)
> performance gains when used properly.
There are two different issues here.
CWriter *outputs* alloca() calls so that it can be sure to output C code
that correctly corresponds to the LLVM bytecode, which may have alloca
instructions in it. I think we have little choice but to continue using
alloca() here. I'm going to hack in an ifndef for FreeBSD around
the declaration output by CWriter to fix this.
LLVM *calls* alloca() in various places because people prefer to use it,
as stated above, for performance, and perhaps more significantly, to
ease managing memory that will only be used during the lifetime of
a particular function call. I might not personally choose to introduce
more calls to alloca() in the compiler itself, but it doesn't seem to
me to be an important enough issue that I would be driven to get rid of
all the existing calls to alloca().
--
gaeke at uiuc.edu
More information about the llvm-dev
mailing list