Rework the logic for setting the TargetName. This appears to
authorEric Christopher <echristo@gmail.com>
Fri, 27 Jun 2014 02:05:19 +0000 (02:05 +0000)
committerEric Christopher <echristo@gmail.com>
Fri, 27 Jun 2014 02:05:19 +0000 (02:05 +0000)
be shorter and identical in goal.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211845 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/NVPTX/NVPTXSubtarget.cpp

index 8c7df52be344a99220c0842c2dbf04f071683f14..2d2a88ab28aa091e033e535d74d2ff4cb2c71cd8 100644 (file)
@@ -37,18 +37,12 @@ NVPTXSubtarget::NVPTXSubtarget(const std::string &TT, const std::string &CPU,
   else
     drvInterface = NVPTX::CUDA;
 
   else
     drvInterface = NVPTX::CUDA;
 
-  // Provide the default CPU if none
-  std::string defCPU = "sm_20";
-
-  ParseSubtargetFeatures((CPU.empty() ? defCPU : CPU), FS);
-
-  // Get the TargetName from the FS if available
-  if (FS.empty() && CPU.empty())
-    TargetName = defCPU;
-  else if (!CPU.empty())
-    TargetName = CPU;
-  else
+  // Provide the default CPU if we don't have one.
+  if (CPU.empty() && FS.size())
     llvm_unreachable("we are not using FeatureStr");
     llvm_unreachable("we are not using FeatureStr");
+  TargetName = CPU.empty() ? "sm_20" : CPU;
+
+  ParseSubtargetFeatures(TargetName, FS);
 
   // We default to PTX 3.1, but we cannot just default to it in the initializer
   // since the attribute parser checks if the given option is >= the default.
 
   // We default to PTX 3.1, but we cannot just default to it in the initializer
   // since the attribute parser checks if the given option is >= the default.