diff options
| author | Simon Dardis <simon.dardis@imgtec.com> | 2017-07-24 14:02:09 +0000 |
|---|---|---|
| committer | Simon Dardis <simon.dardis@imgtec.com> | 2017-07-24 14:02:09 +0000 |
| commit | 7d31878674c6a8ffe7d8122f11aa139c0b5efe93 (patch) | |
| tree | c1e6c17c0ba12a199ae494151491518661d7eddf /clang/lib | |
| parent | eca33fc976418ddf00355512822c09fb6c6fee38 (diff) | |
| download | bcm5719-llvm-7d31878674c6a8ffe7d8122f11aa139c0b5efe93.tar.gz bcm5719-llvm-7d31878674c6a8ffe7d8122f11aa139c0b5efe93.zip | |
[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
Diffstat (limited to 'clang/lib')
| -rw-r--r-- | clang/lib/Driver/ToolChains/Clang.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
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); |

