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.

llvm-svn: 74682
This commit is contained in:
Chris Lattner 2009-07-02 01:24:34 +00:00
parent d9f23ceeb9
commit da2b9a258f

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: