clarify: stub emission depends on the version of the linker you use, it has nothing

to do with the target.  Also, the stub elimination optimization *requires* making the
stub explicit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74682 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2009-07-02 01:24:34 +00:00
parent af4550f826
commit c4b0b400b0

View File

@ -183,9 +183,10 @@ void bar() { struct foo R = { 1.0, 2.0 }; xxx(R); }
Darwin Stub removal:
We still generate calls to foo$stub, and stubs, on Darwin. This is not
necessary on Leopard (10.5) or later, as stubs are generated by ld when
necessary. The choice should depend on the value of -mmacosx-version-min.
x86-32 does this right, see its logic.
necessary when building with the Leopard (10.5) or later linker, as stubs are
generated by ld when necessary. Parameterizing this based on the deployment
target (-mmacosx-version-min) is probably enough. x86-32 does this right, see
its logic.
===-------------------------------------------------------------------------===
@ -205,8 +206,6 @@ which only computes the address of bar once (instead of each time through the
stub). This is Darwin specific and would have to be done in the code generator.
Probably not a win on x86.
Note that removing stubs altogether, as in the previous item, is better yet.
===-------------------------------------------------------------------------===
Simple IPO for argument passing, change: