diff options
author | Nikolai Bozhenov <nikolai.bozhenov@intel.com> | 2017-06-08 17:40:30 +0000 |
---|---|---|
committer | Nikolai Bozhenov <nikolai.bozhenov@intel.com> | 2017-06-08 17:40:30 +0000 |
commit | 32dc6c8540fc58763087ab7bc9c78727adfa38d7 (patch) | |
tree | 7b38ff7fe5c64849e767b8c57a9a0e34dae0dbe3 /clang/lib/Driver/ToolChains/CommonArgs.cpp | |
parent | e128958552976b8cd0f38699de065dd5b678ae50 (diff) | |
download | bcm5719-llvm-32dc6c8540fc58763087ab7bc9c78727adfa38d7.tar.gz bcm5719-llvm-32dc6c8540fc58763087ab7bc9c78727adfa38d7.zip |
Frontend support for Nios2 target.
Summary:
- Implements TargetInfo class for Nios2 target.
- Enables handling of -march and -mcpu options for Nios2 target.
- Definition of Nios2 builtin functions.
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D33356
Author: belickim <mateusz.belicki@intel.com>
llvm-svn: 304994
Diffstat (limited to 'clang/lib/Driver/ToolChains/CommonArgs.cpp')
-rw-r--r-- | clang/lib/Driver/ToolChains/CommonArgs.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp b/clang/lib/Driver/ToolChains/CommonArgs.cpp index 5e360f62e21..1991b2ecd8f 100644 --- a/clang/lib/Driver/ToolChains/CommonArgs.cpp +++ b/clang/lib/Driver/ToolChains/CommonArgs.cpp @@ -215,6 +215,21 @@ static std::string getR600TargetGPU(const ArgList &Args) { return ""; } +static std::string getNios2TargetCPU(const ArgList &Args) { + Arg *A = Args.getLastArg(options::OPT_mcpu_EQ); + if (!A) + A = Args.getLastArg(options::OPT_march_EQ); + + if (!A) + return ""; + + const char *name = A->getValue(); + return llvm::StringSwitch<const char *>(name) + .Case("r1", "nios2r1") + .Case("r2", "nios2r2") + .Default(name); +} + static std::string getLanaiTargetCPU(const ArgList &Args) { if (Arg *A = Args.getLastArg(options::OPT_mcpu_EQ)) { return A->getValue(); @@ -267,6 +282,10 @@ std::string tools::getCPUName(const ArgList &Args, const llvm::Triple &T, return A->getValue(); return ""; + case llvm::Triple::nios2: { + return getNios2TargetCPU(Args); + } + case llvm::Triple::mips: case llvm::Triple::mipsel: case llvm::Triple::mips64: |