diff options
author | dim <dim@FreeBSD.org> | 2015-01-26 21:41:54 +0000 |
---|---|---|
committer | dim <dim@FreeBSD.org> | 2015-01-26 21:41:54 +0000 |
commit | a53e4d44d0463dae21283fdb3ca61a1e38df799f (patch) | |
tree | 6f5baa0292e962bb69dc0020ada66d60ea578642 /contrib/llvm/tools/clang | |
parent | c9e57e45aceb65bdac0c758538375582075c8a97 (diff) | |
parent | 191df99881cad772b533cb8ad72897ab307efdb9 (diff) | |
download | FreeBSD-src-a53e4d44d0463dae21283fdb3ca61a1e38df799f.zip FreeBSD-src-a53e4d44d0463dae21283fdb3ca61a1e38df799f.tar.gz |
Merge ^/head r277719 through 277776.
Diffstat (limited to 'contrib/llvm/tools/clang')
-rw-r--r-- | contrib/llvm/tools/clang/include/clang/Driver/Options.td | 2 | ||||
-rw-r--r-- | contrib/llvm/tools/clang/lib/Driver/Tools.cpp | 5 |
2 files changed, 7 insertions, 0 deletions
diff --git a/contrib/llvm/tools/clang/include/clang/Driver/Options.td b/contrib/llvm/tools/clang/include/clang/Driver/Options.td index 4daddba..b68a46b 100644 --- a/contrib/llvm/tools/clang/include/clang/Driver/Options.td +++ b/contrib/llvm/tools/clang/include/clang/Driver/Options.td @@ -1209,6 +1209,8 @@ def mfix_cortex_a53_835769 : Flag<["-"], "mfix-cortex-a53-835769">, 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>; diff --git a/contrib/llvm/tools/clang/lib/Driver/Tools.cpp b/contrib/llvm/tools/clang/lib/Driver/Tools.cpp index 86c6ac1..daa581e 100644 --- a/contrib/llvm/tools/clang/lib/Driver/Tools.cpp +++ b/contrib/llvm/tools/clang/lib/Driver/Tools.cpp @@ -958,6 +958,11 @@ void Clang::AddAArch64TargetArgs(const ArgList &Args, 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 |