[LLVMdev] -Os

Reed Kotler rkotler at mips.com
Sat Feb 23 10:54:50 PST 2013


At one of the BOFS during the llvm conference a few years back, one of 
the Apple managers stated in effect that their view of -Os was to get 
some modest savings but only if performance has near 0 impact.

On 02/23/2013 09:45 AM, Reed Kotler wrote:
> On 02/23/2013 04:28 AM, David Chisnall wrote:
>> Hi Reed,
>>
>> -Os could do with some love.  It is more or less the same set of 
>> passes as -O2, but with a few things that are most likely to increase 
>> code size removed.  We have had problems with it in the past for 
>> FreeBSD's bootloader.  By tweaking the set of default passes added 
>> for -Os, I got the size down by about 20%, but I didn't have time to 
>> evaluate whether this was a general saving or just for this specific 
>> case.  If you have customers who value size optimisations, then it 
>> would be worth looking in lib/Transforms/IPO/PassManagerBuilder.cpp 
>> and tweaking things a bit.  I suspect that you can get some quite 
>> significant improvements here, but so far it hasn't been a priority 
>> for anyone.  Having -Oz working well (currently it comes nowhere near 
>> gcc) would be particularly helpful for bootloaders, where there is 
>> little or no performance-critical code, but there is a hard limit on 
>> the size.  I imagine a lot of embedded MIPS systems have similar 
>> constraints.
> Hmmm. You don't remember which tweaks you tried?
>
>> David
>>
>> On 23 Feb 2013, at 02:56, reed kotler <rkotler at mips.com> wrote:
>>
>>> Mips 16 is basically to save space.
>>>
>>> I want to start comparing real benchmarks with llvm and gcc -mips16.
>>>
>>> Does -Os have any meaning currently to clang? llvm?
>>>
>>> What about inlining? Is inlining turned off?
>>>
>>> Tia.
>>>
>>> Reed
>>>
>>> _______________________________________________
>>> 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