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:
Dale Johannesen 2009-07-01 23:36:02 +00:00
parent 335bcc760d
commit 7074feab96

View File

@ -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: