From 4ec83ea62894be9506b4d0bffc1013e490b08578 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Thu, 2 Jul 2009 01:24:34 +0000 Subject: [PATCH] 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 --- llvm/lib/Target/PowerPC/README.txt | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/llvm/lib/Target/PowerPC/README.txt b/llvm/lib/Target/PowerPC/README.txt index 1341c66f2668..6e9e6c74e8f3 100644 --- a/llvm/lib/Target/PowerPC/README.txt +++ b/llvm/lib/Target/PowerPC/README.txt @@ -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: -- GitLab