summaryrefslogtreecommitdiffstats
path: root/contrib/llvm/patches/patch-r262261-llvm-r200509-sparc.diff
diff options
context:
space:
mode:
authordim <dim@FreeBSD.org>2014-11-24 18:43:37 +0000
committerdim <dim@FreeBSD.org>2014-11-24 18:43:37 +0000
commit82ca21468e7fe6a5112961ba86434579bed3f204 (patch)
treec2772f1f62ff857fee7802d46eb79f45d45d6d54 /contrib/llvm/patches/patch-r262261-llvm-r200509-sparc.diff
parent6148c19c738a92f344008aa3f88f4e008bada0ee (diff)
downloadFreeBSD-src-82ca21468e7fe6a5112961ba86434579bed3f204.zip
FreeBSD-src-82ca21468e7fe6a5112961ba86434579bed3f204.tar.gz
Cleanup patch set, and update README.TXT. Add three new patches.
Diffstat (limited to 'contrib/llvm/patches/patch-r262261-llvm-r200509-sparc.diff')
-rw-r--r--contrib/llvm/patches/patch-r262261-llvm-r200509-sparc.diff73
1 files changed, 0 insertions, 73 deletions
diff --git a/contrib/llvm/patches/patch-r262261-llvm-r200509-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r200509-sparc.diff
deleted file mode 100644
index f5f9bb3..0000000
--- a/contrib/llvm/patches/patch-r262261-llvm-r200509-sparc.diff
+++ /dev/null
@@ -1,73 +0,0 @@
-Pull in r200509 from upstream llvm trunk (by Venkatraman Govindaraju):
-
- [Sparc] Save and restore float registers that may be used for parameter passing.
-
-Introduced here: http://svnweb.freebsd.org/changeset/base/262261
-
-Index: lib/Target/Sparc/SparcJITInfo.cpp
-===================================================================
---- lib/Target/Sparc/SparcJITInfo.cpp
-+++ lib/Target/Sparc/SparcJITInfo.cpp
-@@ -28,6 +28,13 @@ extern "C" void SparcCompilationCallback();
-
- extern "C" {
- #if defined (__sparc__)
-+
-+#if defined(__arch64__)
-+#define FRAME_PTR(X) #X "+2047"
-+#else
-+#define FRAME_PTR(X) #X
-+#endif
-+
- asm(
- ".text\n"
- "\t.align 4\n"
-@@ -34,11 +41,46 @@ extern "C" {
- "\t.global SparcCompilationCallback\n"
- "\t.type SparcCompilationCallback, #function\n"
- "SparcCompilationCallback:\n"
-- // Save current register window.
-- "\tsave %sp, -192, %sp\n"
-+ // Save current register window and create stack.
-+ // 128 (save area) + 6*8 (for arguments) + 16*8 (for float regfile) = 304
-+ "\tsave %sp, -304, %sp\n"
-+ // save float regfile to the stack.
-+ "\tstd %f0, [" FRAME_PTR(%fp) "-0]\n"
-+ "\tstd %f2, [" FRAME_PTR(%fp) "-8]\n"
-+ "\tstd %f4, [" FRAME_PTR(%fp) "-16]\n"
-+ "\tstd %f6, [" FRAME_PTR(%fp) "-24]\n"
-+ "\tstd %f8, [" FRAME_PTR(%fp) "-32]\n"
-+ "\tstd %f10, [" FRAME_PTR(%fp) "-40]\n"
-+ "\tstd %f12, [" FRAME_PTR(%fp) "-48]\n"
-+ "\tstd %f14, [" FRAME_PTR(%fp) "-56]\n"
-+ "\tstd %f16, [" FRAME_PTR(%fp) "-64]\n"
-+ "\tstd %f18, [" FRAME_PTR(%fp) "-72]\n"
-+ "\tstd %f20, [" FRAME_PTR(%fp) "-80]\n"
-+ "\tstd %f22, [" FRAME_PTR(%fp) "-88]\n"
-+ "\tstd %f24, [" FRAME_PTR(%fp) "-96]\n"
-+ "\tstd %f26, [" FRAME_PTR(%fp) "-104]\n"
-+ "\tstd %f28, [" FRAME_PTR(%fp) "-112]\n"
-+ "\tstd %f30, [" FRAME_PTR(%fp) "-120]\n"
- // stubaddr is in %g1.
- "\tcall SparcCompilationCallbackC\n"
- "\t mov %g1, %o0\n"
-+ // restore float regfile from the stack.
-+ "\tldd [" FRAME_PTR(%fp) "-0], %f0\n"
-+ "\tldd [" FRAME_PTR(%fp) "-8], %f2\n"
-+ "\tldd [" FRAME_PTR(%fp) "-16], %f4\n"
-+ "\tldd [" FRAME_PTR(%fp) "-24], %f6\n"
-+ "\tldd [" FRAME_PTR(%fp) "-32], %f8\n"
-+ "\tldd [" FRAME_PTR(%fp) "-40], %f10\n"
-+ "\tldd [" FRAME_PTR(%fp) "-48], %f12\n"
-+ "\tldd [" FRAME_PTR(%fp) "-56], %f14\n"
-+ "\tldd [" FRAME_PTR(%fp) "-64], %f16\n"
-+ "\tldd [" FRAME_PTR(%fp) "-72], %f18\n"
-+ "\tldd [" FRAME_PTR(%fp) "-80], %f20\n"
-+ "\tldd [" FRAME_PTR(%fp) "-88], %f22\n"
-+ "\tldd [" FRAME_PTR(%fp) "-96], %f24\n"
-+ "\tldd [" FRAME_PTR(%fp) "-104], %f26\n"
-+ "\tldd [" FRAME_PTR(%fp) "-112], %f28\n"
-+ "\tldd [" FRAME_PTR(%fp) "-120], %f30\n"
- // restore original register window and
- // copy %o0 to %g1
- "\trestore %o0, 0, %g1\n"
OpenPOWER on IntegriCloud