summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic/Targets.cpp
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2014-06-24 20:45:01 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2014-06-24 20:45:01 +0000
commit56f008d538ba29cbc7118f6412e607323964e5e5 (patch)
treea19e845bdf186fab071fae3d0804b6c9e44bb1a1 /clang/lib/Basic/Targets.cpp
parentab175461007fd0c2004cbe1666f190825c47a3dc (diff)
downloadbcm5719-llvm-56f008d538ba29cbc7118f6412e607323964e5e5.tar.gz
bcm5719-llvm-56f008d538ba29cbc7118f6412e607323964e5e5.zip
Add R600 builtin codegen.
llvm-svn: 211631
Diffstat (limited to 'clang/lib/Basic/Targets.cpp')
-rw-r--r--clang/lib/Basic/Targets.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp
index 4fdbc244771..a71e8b0ca32 100644
--- a/clang/lib/Basic/Targets.cpp
+++ b/clang/lib/Basic/Targets.cpp
@@ -1458,6 +1458,8 @@ static const char *DescriptionStringSI =
"-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64";
class R600TargetInfo : public TargetInfo {
+ static const Builtin::Info BuiltinInfo[];
+
/// \brief The GPU profiles supported by the R600 target.
enum GPUKind {
GK_NONE,
@@ -1504,11 +1506,10 @@ public:
void getTargetBuiltins(const Builtin::Info *&Records,
unsigned &NumRecords) const override {
- Records = nullptr;
- NumRecords = 0;
+ Records = BuiltinInfo;
+ NumRecords = clang::R600::LastTSBuiltin - Builtin::FirstTSBuiltin;
}
-
void getTargetDefines(const LangOptions &Opts,
MacroBuilder &Builder) const override {
Builder.defineMacro("__R600__");
@@ -1584,6 +1585,12 @@ public:
}
};
+const Builtin::Info R600TargetInfo::BuiltinInfo[] = {
+#define BUILTIN(ID, TYPE, ATTRS) \
+ { #ID, TYPE, ATTRS, 0, ALL_LANGUAGES },
+#include "clang/Basic/BuiltinsR600.def"
+};
+
} // end anonymous namespace
namespace {
OpenPOWER on IntegriCloud