summaryrefslogtreecommitdiffstats
path: root/contrib/llvm/patches/patch-07-clang-r227062-fixes-x18.diff
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/llvm/patches/patch-07-clang-r227062-fixes-x18.diff')
-rw-r--r--contrib/llvm/patches/patch-07-clang-r227062-fixes-x18.diff53
1 files changed, 0 insertions, 53 deletions
diff --git a/contrib/llvm/patches/patch-07-clang-r227062-fixes-x18.diff b/contrib/llvm/patches/patch-07-clang-r227062-fixes-x18.diff
deleted file mode 100644
index 9316f5d..0000000
--- a/contrib/llvm/patches/patch-07-clang-r227062-fixes-x18.diff
+++ /dev/null
@@ -1,53 +0,0 @@
-Pull in r227062 from upstream clang trunk (by Renato Golin):
-
- Allows Clang to use LLVM's fixes-x18 option
-
- This patch allows clang to have llvm reserve the x18
- platform register on AArch64. FreeBSD will use this in the kernel for
- per-cpu data but has no need to reserve this register in userland so
- will need this flag to reserve it.
-
- This uses llvm r226664 to allow this register to be reserved.
-
- Patch by Andrew Turner.
-
-Introduced here: http://svnweb.freebsd.org/changeset/base/277775
-
-Index: tools/clang/include/clang/Driver/Options.td
-===================================================================
---- tools/clang/include/clang/Driver/Options.td
-+++ tools/clang/include/clang/Driver/Options.td
-@@ -1209,6 +1209,8 @@ def mfix_cortex_a53_835769 : Flag<["-"], "mfix-cor
- def mno_fix_cortex_a53_835769 : Flag<["-"], "mno-fix-cortex-a53-835769">,
- Group<m_aarch64_Features_Group>,
- HelpText<"Don't workaround Cortex-A53 erratum 835769 (AArch64 only)">;
-+def ffixed_x18 : Flag<["-"], "ffixed-x18">, Group<m_aarch64_Features_Group>,
-+ HelpText<"Reserve the x18 register (AArch64 only)">;
-
- def mvsx : Flag<["-"], "mvsx">, Group<m_ppc_Features_Group>;
- def mno_vsx : Flag<["-"], "mno-vsx">, Group<m_ppc_Features_Group>;
-Index: tools/clang/lib/Driver/Tools.cpp
-===================================================================
---- tools/clang/lib/Driver/Tools.cpp
-+++ tools/clang/lib/Driver/Tools.cpp
-@@ -958,6 +958,11 @@ void Clang::AddAArch64TargetArgs(const ArgList &Ar
- if (A->getOption().matches(options::OPT_mno_global_merge))
- CmdArgs.push_back("-mno-global-merge");
- }
-+
-+ if (Args.hasArg(options::OPT_ffixed_x18)) {
-+ CmdArgs.push_back("-backend-option");
-+ CmdArgs.push_back("-aarch64-reserve-x18");
-+ }
- }
-
- // Get CPU and ABI names. They are not independent
-Index: tools/clang/test/Driver/aarch64-fixed-x18.c
-===================================================================
---- tools/clang/test/Driver/aarch64-fixed-x18.c
-+++ tools/clang/test/Driver/aarch64-fixed-x18.c
-@@ -0,0 +1,4 @@
-+// RUN: %clang -target aarch64-none-gnu -ffixed-x18 -### %s 2> %t
-+// RUN: FileCheck --check-prefix=CHECK-FIXED-X18 < %t %s
-+
-+// CHECK-FIXED-X18: "-backend-option" "-aarch64-reserve-x18"
OpenPOWER on IntegriCloud