diff --git a/clang/test/PCH/cuda-kernel-call.cu b/clang/test/PCH/cuda-kernel-call.cu
deleted file mode 100644
index ef12c59..0000000
--- a/clang/test/PCH/cuda-kernel-call.cu
+++ /dev/null
@@ -1,25 +0,0 @@
-// RUN: %clang_cc1 -emit-pch -o %t %s
-// RUN: %clang_cc1 -include-pch %t -fsyntax-only %s 
-
-#ifndef HEADER
-#define HEADER
-// Header.
-
-#include "../SemaCUDA/cuda.h"
-
-void kcall(void (*kp)()) {
-  kp<<<1, 1>>>();
-}
-
-__global__ void kern() {
-}
-
-#else
-// Using the header.
-
-void test() {
-  kcall(kern);
-  kern<<<1, 1>>>();
-}
-
-#endif
diff --git a/clang/test/Parser/cuda-kernel-call.cu b/clang/test/Parser/cuda-kernel-call.cu
deleted file mode 100644
index f95ae9e..0000000
--- a/clang/test/Parser/cuda-kernel-call.cu
+++ /dev/null
@@ -1,9 +0,0 @@
-// RUN: %clang_cc1 -fsyntax-only -verify %s
-
-void foo(void) {
-  foo<<<1;      // expected-error {{expected '>>>'}} expected-note {{to match this '<<<'}}
-
-  foo<<<1,1>>>; // expected-error {{expected '('}}
-
-  foo<<<>>>();  // expected-error {{expected expression}}
-}
diff --git a/clang/test/SemaCUDA/config-type.cu b/clang/test/SemaCUDA/config-type.cu
deleted file mode 100644
index a469d38..0000000
--- a/clang/test/SemaCUDA/config-type.cu
+++ /dev/null
@@ -1,3 +0,0 @@
-// RUN: %clang_cc1 -fsyntax-only -verify %s
-
-void cudaConfigureCall(unsigned gridSize, unsigned blockSize); // expected-error {{must have scalar return type}}
diff --git a/clang/test/SemaCUDA/cuda.h b/clang/test/SemaCUDA/cuda.h
deleted file mode 100644
index e3aeb99..0000000
--- a/clang/test/SemaCUDA/cuda.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Minimal declarations for CUDA support.  Testing purposes only. */
-
-#include <stddef.h>
-
-#define __constant__ __attribute__((constant))
-#define __device__ __attribute__((device))
-#define __global__ __attribute__((global))
-#define __host__ __attribute__((host))
-#define __shared__ __attribute__((shared))
-
-struct dim3 {
-  unsigned x, y, z;
-  dim3(unsigned x, unsigned y = 1, unsigned z = 1) : x(x), y(y), z(z) {}
-};
-
-typedef struct cudaStream *cudaStream_t;
-
-int cudaConfigureCall(dim3 gridSize, dim3 blockSize, size_t sharedSize = 0,
-                      cudaStream_t stream = 0);
diff --git a/clang/test/SemaCUDA/kernel-call.cu b/clang/test/SemaCUDA/kernel-call.cu
deleted file mode 100644
index 7bc7ae1..0000000
--- a/clang/test/SemaCUDA/kernel-call.cu
+++ /dev/null
@@ -1,23 +0,0 @@
-// RUN: %clang_cc1 -fsyntax-only -verify %s
-
-#include "cuda.h"
-
-__global__ void g1(int x) {}
-
-template <typename T> void t1(T arg) {
-  g1<<<arg, arg>>>(1);
-}
-
-void h1(int x) {}
-int h2(int x) { return 1; }
-
-int main(void) {
-  g1<<<1, 1>>>(42);
-
-  t1(1);
-
-  h1<<<1, 1>>>(42); // expected-error {{kernel call to non-global function h1}}
-
-  int (*fp)(int) = h2;
-  fp<<<1, 1>>>(42); // expected-error {{must have void return type}}
-}
diff --git a/clang/test/SemaCUDA/qualifiers.cu b/clang/test/SemaCUDA/qualifiers.cu
deleted file mode 100644
index 1346d65..0000000
--- a/clang/test/SemaCUDA/qualifiers.cu
+++ /dev/null
@@ -1,8 +0,0 @@
-// RUN: %clang_cc1 -fsyntax-only -verify %s
-
-#include "cuda.h"
-
-__global__ void g1(int x) {}
-__global__ int g2(int x) { // expected-error {{must have void return type}}
-  return 1;
-}
