From 7d31878674c6a8ffe7d8122f11aa139c0b5efe93 Mon Sep 17 00:00:00 2001 From: Simon Dardis Date: Mon, 24 Jul 2017 14:02:09 +0000 Subject: [mips] Add support for -m(no-)extern-data. Add support for -m(no-)extern-data when using -mgpopt in the driver. It is enabled by default in the backend. Reviewers: atanasyan, slthakur Differential Revision: https://reviews.llvm.org/D35550 llvm-svn: 308879 --- clang/lib/Driver/ToolChains/Clang.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'clang/lib') diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp index 8cfe61bf784..16c700106ea 100644 --- a/clang/lib/Driver/ToolChains/Clang.cpp +++ b/clang/lib/Driver/ToolChains/Clang.cpp @@ -1483,6 +1483,8 @@ void Clang::AddMIPSTargetArgs(const ArgList &Args, Arg *LocalSData = Args.getLastArg(options::OPT_mlocal_sdata, options::OPT_mno_local_sdata); + Arg *ExternSData = Args.getLastArg(options::OPT_mextern_sdata, + options::OPT_mno_extern_sdata); if (LocalSData) { CmdArgs.push_back("-mllvm"); if (LocalSData->getOption().matches(options::OPT_mlocal_sdata)) { @@ -1493,6 +1495,15 @@ void Clang::AddMIPSTargetArgs(const ArgList &Args, LocalSData->claim(); } + if (ExternSData) { + CmdArgs.push_back("-mllvm"); + if (ExternSData->getOption().matches(options::OPT_mextern_sdata)) { + CmdArgs.push_back("-mextern-sdata=1"); + } else { + CmdArgs.push_back("-mextern-sdata=0"); + } + ExternSData->claim(); + } } else if ((!ABICalls || (!NoABICalls && ABICalls)) && WantGPOpt) D.Diag(diag::warn_drv_unsupported_gpopt) << (ABICalls ? 0 : 1); -- cgit v1.2.3