[LLVMdev] Removing inlining of library functions

Chris Lattner sabre at nondot.org
Thu Feb 21 17:38:13 PST 2008


On Thu, 21 Feb 2008, Dale Johannesen wrote:
> The defined gcc interface for this is -fno-builtin.  It seems not be
> to be working in llvm-gcc, however.

Please file a reduced testcase in bugzilla,

-Chris

>
>> 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
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>

-Chris

-- 
http://nondot.org/sabre/
http://llvm.org/



More information about the llvm-dev mailing list