[LLVMdev] Removing inlining of library functions

Dale Johannesen dalej at apple.com
Thu Feb 21 17:03:45 PST 2008


On Feb 21, 2008, at 5:38 PM, Chris Lattner wrote:
> 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

Er, well, now that I've looked at the correct output files, it is  
actually working.

>>> 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/
> _______________________________________________
> 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