Add gfx904 and gfx906 to GPU Arch

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

llvm-svn: 344996
diff --git a/clang/lib/Basic/Cuda.cpp b/clang/lib/Basic/Cuda.cpp
index 43400c3..718e136 100644
--- a/clang/lib/Basic/Cuda.cpp
+++ b/clang/lib/Basic/Cuda.cpp
@@ -90,6 +90,10 @@
     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 @@
       .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 @@
   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 @@
   case CudaArch::GFX810:
   case CudaArch::GFX900:
   case CudaArch::GFX902:
+  case CudaArch::GFX904:
+  case CudaArch::GFX906:
     return CudaVersion::CUDA_70;
   }
   llvm_unreachable("invalid enum");