mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-15 04:30:12 +00:00
Add darwin stub removal to wishlist.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74667 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
335bcc760d
commit
7074feab96
@ -180,6 +180,15 @@ 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.
|
||||||
|
|
||||||
|
===-------------------------------------------------------------------------===
|
||||||
|
|
||||||
Darwin Stub LICM optimization:
|
Darwin Stub LICM optimization:
|
||||||
|
|
||||||
Loops like this:
|
Loops like this:
|
||||||
@ -196,6 +205,8 @@ 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