[LLVMdev] Removing inlining of library functions

Dale Johannesen dalej at apple.com
Thu Feb 21 15:20:09 PST 2008


The defined gcc interface for this is -fno-builtin.  It seems not be  
to be working in llvm-gcc, however.

On Feb 20, 2008, at 6:55 PM, Cristina Cifuentes wrote:

> I am interested in analyzing the bytecode code produced for C files.
> By default, inlining of user and library functions (libc) is done. If
> I turn off inlining (-disable-inlining in gccas and gccld) then no
> inlining is done.  I want to be able to inline user code but disallow
> library code to be inlined.
>
> In trying to understand the InlineSimple.cpp code, I see that library
> functions are tagged as having internal linkage, just as other user
> functions in a module, and so these library functions are inlined if
> they satisfy other inlining rules (e.g., strcpy() is quite often
> inlined).
>
> My questions:
> - is there a simple way to disallow inlining of library functions?
> - in what part of the code tree is the internal linkage attribute
> being set for library functions?
>
> I am using LLVM1.9 (due to a dependency of some C code on gcc3.4) but
> I'd imagine that this functionality hasn't changed much in more recent
> versions.
>
> Thanks,
> Cristina
>
>
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev




More information about the llvm-dev mailing list