Re: [PATCH] D16080: [CUDA] Add tests for compiling CUDA files with -E.
This revision was automatically updated to reflect the committed changes. Closed by commit rL257807: [CUDA] Add tests for compiling CUDA files with -E. (authored by jlebar). Changed prior to commit: http://reviews.llvm.org/D16080?vs=44823=44920#toc Repository: rL LLVM http://reviews.llvm.org/D16080 Files: cfe/trunk/test/Preprocessor/cuda-preprocess.cu Index: cfe/trunk/test/Preprocessor/cuda-preprocess.cu === --- cfe/trunk/test/Preprocessor/cuda-preprocess.cu +++ cfe/trunk/test/Preprocessor/cuda-preprocess.cu @@ -0,0 +1,32 @@ +// Tests CUDA compilation with -E. + +// REQUIRES: clang-driver +// REQUIRES: x86-registered-target +// REQUIRES: nvptx-registered-target + +#ifndef __CUDA_ARCH__ +#define PREPROCESSED_AWAY +clang_unittest_no_arch PREPROCESSED_AWAY +#else +clang_unittest_cuda_arch __CUDA_ARCH__ +#endif + +// CHECK-NOT: PREPROCESSED_AWAY + +// RUN: %clang -E -target x86_64-linux-gnu --cuda-gpu-arch=sm_20 %s 2>&1 \ +// RUN: | FileCheck -check-prefix NOARCH %s +// RUN: %clang -E -target x86_64-linux-gnu --cuda-gpu-arch=sm_20 --cuda-host-only %s 2>&1 \ +// RUN: | FileCheck -check-prefix NOARCH %s +// NOARCH: clang_unittest_no_arch + +// RUN: %clang -E -target x86_64-linux-gnu --cuda-gpu-arch=sm_20 --cuda-device-only %s 2>&1 \ +// RUN: | FileCheck -check-prefix SM20 %s +// SM20: clang_unittest_cuda_arch 200 + +// RUN: %clang -E -target x86_64-linux-gnu --cuda-gpu-arch=sm_30 --cuda-device-only %s 2>&1 \ +// RUN: | FileCheck -check-prefix SM30 %s +// SM30: clang_unittest_cuda_arch 300 + +// RUN: %clang -E -target x86_64-linux-gnu --cuda-gpu-arch=sm_20 --cuda-gpu-arch=sm_30 \ +// RUN: --cuda-device-only %s 2>&1 \ +// RUN: | FileCheck -check-prefix SM20 -check-prefix SM30 %s Index: cfe/trunk/test/Preprocessor/cuda-preprocess.cu === --- cfe/trunk/test/Preprocessor/cuda-preprocess.cu +++ cfe/trunk/test/Preprocessor/cuda-preprocess.cu @@ -0,0 +1,32 @@ +// Tests CUDA compilation with -E. + +// REQUIRES: clang-driver +// REQUIRES: x86-registered-target +// REQUIRES: nvptx-registered-target + +#ifndef __CUDA_ARCH__ +#define PREPROCESSED_AWAY +clang_unittest_no_arch PREPROCESSED_AWAY +#else +clang_unittest_cuda_arch __CUDA_ARCH__ +#endif + +// CHECK-NOT: PREPROCESSED_AWAY + +// RUN: %clang -E -target x86_64-linux-gnu --cuda-gpu-arch=sm_20 %s 2>&1 \ +// RUN: | FileCheck -check-prefix NOARCH %s +// RUN: %clang -E -target x86_64-linux-gnu --cuda-gpu-arch=sm_20 --cuda-host-only %s 2>&1 \ +// RUN: | FileCheck -check-prefix NOARCH %s +// NOARCH: clang_unittest_no_arch + +// RUN: %clang -E -target x86_64-linux-gnu --cuda-gpu-arch=sm_20 --cuda-device-only %s 2>&1 \ +// RUN: | FileCheck -check-prefix SM20 %s +// SM20: clang_unittest_cuda_arch 200 + +// RUN: %clang -E -target x86_64-linux-gnu --cuda-gpu-arch=sm_30 --cuda-device-only %s 2>&1 \ +// RUN: | FileCheck -check-prefix SM30 %s +// SM30: clang_unittest_cuda_arch 300 + +// RUN: %clang -E -target x86_64-linux-gnu --cuda-gpu-arch=sm_20 --cuda-gpu-arch=sm_30 \ +// RUN: --cuda-device-only %s 2>&1 \ +// RUN: | FileCheck -check-prefix SM20 -check-prefix SM30 %s ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Re: [PATCH] D16080: [CUDA] Add tests for compiling CUDA files with -E.
tra added inline comments. Comment at: test/Driver/cuda-preprocess.cu:13-16 @@ +12,6 @@ + +// RUN: %clang -E -target x86_64-linux-gnu --cuda-gpu-arch=sm_20 %s 2>&1 \ +// RUN: | FileCheck -check-prefix NOARCH %s +// RUN: %clang -E -target x86_64-linux-gnu --cuda-gpu-arch=sm_20 --cuda-host-only %s 2>&1 \ +// RUN: | FileCheck -check-prefix NOARCH %s +// NOARCH: clang_unittest_no_arch Given it's a driver test you probably just want to check the list of commands generated by driver (-###) Checking preprocessing results would probably belong to test/Preprocessor. Comment at: test/Driver/cuda-preprocess.cu:17 @@ +16,3 @@ +// RUN: | FileCheck -check-prefix NOARCH %s +// NOARCH: clang_unittest_no_arch + This would succeed if we fail to preprocess as it would catch 'clang_unittest_no_arch' in the #ifndef above. I'd add some macro which will get preprocessed away: ``` #ifndef __CUDA_ARCH__ #define PREPROCESSED_AWAY clang_unittest_no_arch __ PREPROCESSED_AWAY ... ``` It may be an overkill, though. Up to you. http://reviews.llvm.org/D16080 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Re: [PATCH] D16080: [CUDA] Add tests for compiling CUDA files with -E.
jlebar marked 2 inline comments as done. jlebar added a comment. Thank you for the review, Artem. http://reviews.llvm.org/D16080 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Re: [PATCH] D16080: [CUDA] Add tests for compiling CUDA files with -E.
jlebar updated this revision to Diff 44823. jlebar added a comment. Address tra's review comments. http://reviews.llvm.org/D16080 Files: test/Preprocessor/cuda-preprocess.cu Index: test/Preprocessor/cuda-preprocess.cu === --- /dev/null +++ test/Preprocessor/cuda-preprocess.cu @@ -0,0 +1,32 @@ +// Tests CUDA compilation with -E. + +// REQUIRES: clang-driver +// REQUIRES: x86-registered-target +// REQUIRES: nvptx-registered-target + +#ifndef __CUDA_ARCH__ +#define PREPROCESSED_AWAY +clang_unittest_no_arch PREPROCESSED_AWAY +#else +clang_unittest_cuda_arch __CUDA_ARCH__ +#endif + +// CHECK-NOT: PREPROCESSED_AWAY + +// RUN: %clang -E -target x86_64-linux-gnu --cuda-gpu-arch=sm_20 %s 2>&1 \ +// RUN: | FileCheck -check-prefix NOARCH %s +// RUN: %clang -E -target x86_64-linux-gnu --cuda-gpu-arch=sm_20 --cuda-host-only %s 2>&1 \ +// RUN: | FileCheck -check-prefix NOARCH %s +// NOARCH: clang_unittest_no_arch + +// RUN: %clang -E -target x86_64-linux-gnu --cuda-gpu-arch=sm_20 --cuda-device-only %s 2>&1 \ +// RUN: | FileCheck -check-prefix SM20 %s +// SM20: clang_unittest_cuda_arch 200 + +// RUN: %clang -E -target x86_64-linux-gnu --cuda-gpu-arch=sm_30 --cuda-device-only %s 2>&1 \ +// RUN: | FileCheck -check-prefix SM30 %s +// SM30: clang_unittest_cuda_arch 300 + +// RUN: %clang -E -target x86_64-linux-gnu --cuda-gpu-arch=sm_20 --cuda-gpu-arch=sm_30 \ +// RUN: --cuda-device-only %s 2>&1 \ +// RUN: | FileCheck -check-prefix SM20 -check-prefix SM30 %s Index: test/Preprocessor/cuda-preprocess.cu === --- /dev/null +++ test/Preprocessor/cuda-preprocess.cu @@ -0,0 +1,32 @@ +// Tests CUDA compilation with -E. + +// REQUIRES: clang-driver +// REQUIRES: x86-registered-target +// REQUIRES: nvptx-registered-target + +#ifndef __CUDA_ARCH__ +#define PREPROCESSED_AWAY +clang_unittest_no_arch PREPROCESSED_AWAY +#else +clang_unittest_cuda_arch __CUDA_ARCH__ +#endif + +// CHECK-NOT: PREPROCESSED_AWAY + +// RUN: %clang -E -target x86_64-linux-gnu --cuda-gpu-arch=sm_20 %s 2>&1 \ +// RUN: | FileCheck -check-prefix NOARCH %s +// RUN: %clang -E -target x86_64-linux-gnu --cuda-gpu-arch=sm_20 --cuda-host-only %s 2>&1 \ +// RUN: | FileCheck -check-prefix NOARCH %s +// NOARCH: clang_unittest_no_arch + +// RUN: %clang -E -target x86_64-linux-gnu --cuda-gpu-arch=sm_20 --cuda-device-only %s 2>&1 \ +// RUN: | FileCheck -check-prefix SM20 %s +// SM20: clang_unittest_cuda_arch 200 + +// RUN: %clang -E -target x86_64-linux-gnu --cuda-gpu-arch=sm_30 --cuda-device-only %s 2>&1 \ +// RUN: | FileCheck -check-prefix SM30 %s +// SM30: clang_unittest_cuda_arch 300 + +// RUN: %clang -E -target x86_64-linux-gnu --cuda-gpu-arch=sm_20 --cuda-gpu-arch=sm_30 \ +// RUN: --cuda-device-only %s 2>&1 \ +// RUN: | FileCheck -check-prefix SM20 -check-prefix SM30 %s ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Re: [PATCH] D16080: [CUDA] Add tests for compiling CUDA files with -E.
jlebar marked 2 inline comments as done. Comment at: test/Driver/cuda-preprocess.cu:13-16 @@ +12,6 @@ + +// RUN: %clang -E -target x86_64-linux-gnu --cuda-gpu-arch=sm_20 %s 2>&1 \ +// RUN: | FileCheck -check-prefix NOARCH %s +// RUN: %clang -E -target x86_64-linux-gnu --cuda-gpu-arch=sm_20 --cuda-host-only %s 2>&1 \ +// RUN: | FileCheck -check-prefix NOARCH %s +// NOARCH: clang_unittest_no_arch tra wrote: > Given it's a driver test you probably just want to check the list of commands > generated by driver (-###) > > Checking preprocessing results would probably belong to test/Preprocessor. > Cool, moved to Preprocessor/. Comment at: test/Driver/cuda-preprocess.cu:17 @@ +16,3 @@ +// RUN: | FileCheck -check-prefix NOARCH %s +// NOARCH: clang_unittest_no_arch + tra wrote: > This would succeed if we fail to preprocess as it would catch > 'clang_unittest_no_arch' in the #ifndef above. > > I'd add some macro which will get preprocessed away: > > ``` > #ifndef __CUDA_ARCH__ > #define PREPROCESSED_AWAY > clang_unittest_no_arch __ PREPROCESSED_AWAY > ... > ``` > > It may be an overkill, though. Up to you. > sgtm, done. http://reviews.llvm.org/D16080 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits