diff options
author | Simon Atanasyan <satanasyan@mips.com> | 2012-06-28 18:23:16 +0000 |
---|---|---|
committer | Simon Atanasyan <satanasyan@mips.com> | 2012-06-28 18:23:16 +0000 |
commit | 07ce7d8fb5dbefc07d934953be71b8644e7aa1f4 (patch) | |
tree | 45017163aae5722dc7969f4f9d9edaf41ea0f0b1 /clang/lib/Basic/Targets.cpp | |
parent | a932bdfc1ed02ba6806bf2726d3a75b8d37f3316 (diff) | |
download | bcm5719-llvm-07ce7d8fb5dbefc07d934953be71b8644e7aa1f4.tar.gz bcm5719-llvm-07ce7d8fb5dbefc07d934953be71b8644e7aa1f4.zip |
Support MIPS DSP Rev1 intrinsics.
This patch was reviewed in the llvm-commits list by Jim Grosbach.
llvm-svn: 159366
Diffstat (limited to 'clang/lib/Basic/Targets.cpp')
-rw-r--r-- | clang/lib/Basic/Targets.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index 036514800d6..a633a2cb9d2 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/lib/Basic/Targets.cpp @@ -3557,6 +3557,7 @@ namespace { namespace { class MipsTargetInfoBase : public TargetInfo { + static const Builtin::Info BuiltinInfo[]; std::string CPU; bool SoftFloat; bool SingleFloat; @@ -3606,7 +3607,8 @@ public: MacroBuilder &Builder) const = 0; virtual void getTargetBuiltins(const Builtin::Info *&Records, unsigned &NumRecords) const { - // FIXME: Implement! + Records = BuiltinInfo; + NumRecords = clang::Mips::LastTSBuiltin - Builtin::FirstTSBuiltin; } virtual bool hasFeature(StringRef Feature) const { return Feature == "mips"; @@ -3695,6 +3697,13 @@ public: } }; +const Builtin::Info MipsTargetInfoBase::BuiltinInfo[] = { +#define BUILTIN(ID, TYPE, ATTRS) { #ID, TYPE, ATTRS, 0, ALL_LANGUAGES }, +#define LIBBUILTIN(ID, TYPE, ATTRS, HEADER) { #ID, TYPE, ATTRS, HEADER,\ + ALL_LANGUAGES }, +#include "clang/Basic/BuiltinsMips.def" +}; + class Mips32TargetInfoBase : public MipsTargetInfoBase { public: Mips32TargetInfoBase(const std::string& triple) : |