mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-09-07 16:54:48 +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:
|
||||
|
||||
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.
|
||||
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:
|
||||
|
Loading…
Reference in New Issue
Block a user