Prechádzať zdrojové kódy

Add gfx904 and gfx906 to GPU Arch

Differential Revision: https://reviews.llvm.org/D53472


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@344996 91177308-0d34-0410-b5e6-96231b3b80d8
Yaxun Liu 6 rokov pred
rodič
commit
8da6768e21

+ 2 - 0
include/clang/Basic/Cuda.h

@@ -62,6 +62,8 @@ enum class CudaArch {
   GFX810,
   GFX900,
   GFX902,
+  GFX904,
+  GFX906,
   LAST,
 };
 const char *CudaArchToString(CudaArch A);

+ 10 - 0
lib/Basic/Cuda.cpp

@@ -90,6 +90,10 @@ const char *CudaArchToString(CudaArch A) {
     return "gfx900";
   case CudaArch::GFX902: // TBA
     return "gfx902";
+  case CudaArch::GFX904: // TBA
+    return "gfx904";
+  case CudaArch::GFX906: // TBA
+    return "gfx906";
   }
   llvm_unreachable("invalid enum");
 }
@@ -124,6 +128,8 @@ CudaArch StringToCudaArch(llvm::StringRef S) {
       .Case("gfx810", CudaArch::GFX810)
       .Case("gfx900", CudaArch::GFX900)
       .Case("gfx902", CudaArch::GFX902)
+      .Case("gfx904", CudaArch::GFX904)
+      .Case("gfx906", CudaArch::GFX906)
       .Default(CudaArch::UNKNOWN);
 }
 
@@ -233,6 +239,8 @@ CudaVirtualArch VirtualArchForCudaArch(CudaArch A) {
   case CudaArch::GFX810:
   case CudaArch::GFX900:
   case CudaArch::GFX902:
+  case CudaArch::GFX904:
+  case CudaArch::GFX906:
     return CudaVirtualArch::COMPUTE_AMDGCN;
   }
   llvm_unreachable("invalid enum");
@@ -277,6 +285,8 @@ CudaVersion MinVersionForCudaArch(CudaArch A) {
   case CudaArch::GFX810:
   case CudaArch::GFX900:
   case CudaArch::GFX902:
+  case CudaArch::GFX904:
+  case CudaArch::GFX906:
     return CudaVersion::CUDA_70;
   }
   llvm_unreachable("invalid enum");

+ 2 - 0
lib/Basic/Targets/NVPTX.cpp

@@ -188,6 +188,8 @@ void NVPTXTargetInfo::getTargetDefines(const LangOptions &Opts,
       case CudaArch::GFX810:
       case CudaArch::GFX900:
       case CudaArch::GFX902:
+      case CudaArch::GFX904:
+      case CudaArch::GFX906:
       case CudaArch::LAST:
         break;
       case CudaArch::UNKNOWN: