[LLVMdev] llvm-ld -disable-opt behavior.

Daniel Dunbar daniel at zuster.org
Wed Jul 15 20:17:57 PDT 2009


On Wed, Jul 15, 2009 at 7:29 PM, sanjiv gupta<sanjiv.gupta at microchip.com> wrote:
> On Wed, 2009-07-15 at 10:37 -0700, Devang Patel wrote:
>> On Wed, Jul 15, 2009 at 9:32 AM, sanjiv gupta<sanjiv.gupta at microchip.com> wrote:
>> > Consider the example command line below
>> >
>> > $ llvm-ld -disable-opt hello.bc -l std -o hello.out
>> >
>> > Why does -disable-opt links in all the bitcode from the libstd.so into
>> > hello.out?
>>
>> ... because it just disables optimization passed. It does not disable linking.
>>  ?
>> -
>> Devang
>> ______
> I think I did not explain the question really well.
>
> -disable-opt links the whole lib into the final program while not using
> -disable-opt links in only the required symbols. Why ?

I think you are confusing the order. Probably what is happening is
whole lib is getting linked in, then optimization is throwing away a
bunch of stuff.

Linking works on modules at a time, so if hello.bc uses some symbol X,
it will pull in the entire module inside the library which contains a
definition of X.

 - Daniel

> - Sanjiv
>
>> _________________________________________
>> 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
>




More information about the llvm-dev mailing list