From 808ef66afbafb210baa19b567ac20f73142f5111 Mon Sep 17 00:00:00 2001 From: Justin Holewinski Date: Thu, 15 Sep 2011 12:13:38 +0000 Subject: [PATCH] PTX: Define target options git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139789 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Basic/Targets.cpp | 89 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index 3198b361fb..efbb139573 100644 --- a/lib/Basic/Targets.cpp +++ b/lib/Basic/Targets.cpp @@ -916,6 +916,10 @@ namespace { // FIXME: implement return "typedef char* __builtin_va_list;"; } + + virtual bool setFeatureEnabled(llvm::StringMap &Features, + const std::string &Name, + bool Enabled) const; }; const Builtin::Info PTXTargetInfo::BuiltinInfo[] = { @@ -935,6 +939,91 @@ namespace { NumNames = llvm::array_lengthof(GCCRegNames); } + bool PTXTargetInfo::setFeatureEnabled(llvm::StringMap &Features, + const std::string &Name, + bool Enabled) const { + if (Enabled) { + if (Name == "double") + Features["double"] = true; + else if (Name == "no-fma") + Features["no-fma"] = true; + else if (Name == "compute10") + Features["compute10"] = true; + else if (Name == "compute11") + Features["compute11"] = true; + else if (Name == "compute12") + Features["compute12"] = true; + else if (Name == "compute13") + Features["compute13"] = true; + else if (Name == "compute20") + Features["compute20"] = true; + else if (Name == "ptx20") + Features["ptx20"] = true; + else if (Name == "ptx21") + Features["ptx21"] = true; + else if (Name == "ptx22") + Features["ptx22"] = true; + else if (Name == "ptx23") + Features["ptx23"] = true; + else if (Name == "sm10") + Features["sm10"] = true; + else if (Name == "sm11") + Features["sm11"] = true; + else if (Name == "sm12") + Features["sm12"] = true; + else if (Name == "sm13") + Features["sm13"] = true; + else if (Name == "sm20") + Features["sm20"] = true; + else if (Name == "sm21") + Features["sm21"] = true; + else if (Name == "sm22") + Features["sm22"] = true; + else if (Name == "sm23") + Features["sm23"] = true; + } else { + if (Name == "double") + Features["double"] = false; + else if (Name == "no-fma") + Features["no-fma"] = false; + else if (Name == "compute10") + Features["compute10"] = false; + else if (Name == "compute11") + Features["compute11"] = false; + else if (Name == "compute12") + Features["compute12"] = false; + else if (Name == "compute13") + Features["compute13"] = false; + else if (Name == "compute20") + Features["compute20"] = false; + else if (Name == "ptx20") + Features["ptx20"] = false; + else if (Name == "ptx21") + Features["ptx21"] = false; + else if (Name == "ptx22") + Features["ptx22"] = false; + else if (Name == "ptx23") + Features["ptx23"] = false; + else if (Name == "sm10") + Features["sm10"] = false; + else if (Name == "sm11") + Features["sm11"] = false; + else if (Name == "sm12") + Features["sm12"] = false; + else if (Name == "sm13") + Features["sm13"] = false; + else if (Name == "sm20") + Features["sm20"] = false; + else if (Name == "sm21") + Features["sm21"] = false; + else if (Name == "sm22") + Features["sm22"] = false; + else if (Name == "sm23") + Features["sm23"] = false; + } + + return true; + } class PTX32TargetInfo : public PTXTargetInfo { public: -- 2.40.0