[llvm] da181d4 - [PowerPC][NFC] Cleanup some of the Darwin mentions in the README.txt.
Sean Fertile via llvm-commits
llvm-commits at lists.llvm.org
Thu Feb 20 10:58:08 PST 2020
Author: Sean Fertile
Date: 2020-02-20T13:57:13-05:00
New Revision: da181d4ba0cdbae487ba1571917adb8677456e55
URL: https://github.com/llvm/llvm-project/commit/da181d4ba0cdbae487ba1571917adb8677456e55
DIFF: https://github.com/llvm/llvm-project/commit/da181d4ba0cdbae487ba1571917adb8677456e55.diff
LOG: [PowerPC][NFC] Cleanup some of the Darwin mentions in the README.txt.
Added:
Modified:
llvm/lib/Target/PowerPC/README.txt
Removed:
################################################################################
diff --git a/llvm/lib/Target/PowerPC/README.txt b/llvm/lib/Target/PowerPC/README.txt
index e30655854f09..492eb22af2c0 100644
--- a/llvm/lib/Target/PowerPC/README.txt
+++ b/llvm/lib/Target/PowerPC/README.txt
@@ -118,67 +118,6 @@ http://gcc.gnu.org/ml/gcc-patches/2006-02/msg00133.html
===-------------------------------------------------------------------------===
-Darwin Stub removal:
-
-We still generate calls to foo$stub, and stubs, on Darwin. This is not
-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.
-
-Note: Since Darwin support has been removed, this item is no longer valid for
-Darwin specfically.
-
-===-------------------------------------------------------------------------===
-
-Darwin Stub LICM optimization:
-
-Loops like this:
-
- for (...) bar();
-
-Have to go through an indirect stub if bar is external or linkonce. It would
-be better to compile it as:
-
- fp = &bar;
- for (...) fp();
-
-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.
-
-===-------------------------------------------------------------------------===
-
-Simple IPO for argument passing, change:
- void foo(int X, double Y, int Z) -> void foo(int X, int Z, double Y)
-
-the Darwin ABI specifies that any integer arguments in the first 32 bytes worth
-of arguments get assigned to r3 through r10. That is, if you have a function
-foo(int, double, int) you get r3, f1, r6, since the 64 bit double ate up the
-argument bytes for r4 and r5. The trick then would be to shuffle the argument
-order for functions we can internalize so that the maximum number of
-integers/pointers get passed in regs before you see any of the fp arguments.
-
-Instead of implementing this, it would actually probably be easier to just
-implement a PPC fastcc, where we could do whatever we wanted to the CC,
-including having this work sanely.
-
-===-------------------------------------------------------------------------===
-
-Fix Darwin FP-In-Integer Registers ABI
-
-Darwin passes doubles in structures in integer registers, which is very very
-bad. Add something like a BITCAST to LLVM, then do an i-p transformation that
-percolates these things out of functions.
-
-Check out how horrible this is:
-http://gcc.gnu.org/ml/gcc/2005-10/msg01036.html
-
-This is an extension of "interprocedural CC unmunging" that can't be done with
-just fastcc.
-
-===-------------------------------------------------------------------------===
-
Fold add and sub with constant into non-extern, non-weak addresses so this:
static int a;
More information about the llvm-commits
mailing list