mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-10-15 05:25:55 +00:00
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:
parent
af4550f826
commit
c4b0b400b0
@ -183,9 +183,10 @@ void bar() { struct foo R = { 1.0, 2.0 }; xxx(R); }
|
|||||||
Darwin Stub removal:
|
Darwin Stub removal:
|
||||||
|
|
||||||
We still generate calls to foo$stub, and stubs, on Darwin. This is not
|
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 when building with the Leopard (10.5) or later linker, as stubs are
|
||||||
necessary. The choice should depend on the value of -mmacosx-version-min.
|
generated by ld when necessary. Parameterizing this based on the deployment
|
||||||
x86-32 does this right, see its logic.
|
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.
|
stub). This is Darwin specific and would have to be done in the code generator.
|
||||||
Probably not a win on x86.
|
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:
|
Simple IPO for argument passing, change:
|
||||||
|
Loading…
Reference in New Issue
Block a user