annotate clang/test/Driver/cuda-phases.cu @ 207:2e18cbf3894f

LLVM12
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Tue, 08 Jun 2021 06:07:14 +0900
parents 1d019706d866
children c4bab56944e8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
150
anatofuz
parents:
diff changeset
1 // Tests the phases generated for a CUDA offloading target for different
anatofuz
parents:
diff changeset
2 // combinations of:
anatofuz
parents:
diff changeset
3 // - Number of gpu architectures;
anatofuz
parents:
diff changeset
4 // - Host/device-only compilation;
anatofuz
parents:
diff changeset
5 // - User-requested final phase - binary or assembly.
anatofuz
parents:
diff changeset
6
anatofuz
parents:
diff changeset
7 // REQUIRES: clang-driver
anatofuz
parents:
diff changeset
8 // REQUIRES: powerpc-registered-target
anatofuz
parents:
diff changeset
9 // REQUIRES: nvptx-registered-target
anatofuz
parents:
diff changeset
10 //
anatofuz
parents:
diff changeset
11 // Test single gpu architecture with complete compilation.
anatofuz
parents:
diff changeset
12 //
anatofuz
parents:
diff changeset
13 // Test CUDA NVPTX phases.
anatofuz
parents:
diff changeset
14 // RUN: %clang -target powerpc64le-ibm-linux-gnu -ccc-print-phases \
anatofuz
parents:
diff changeset
15 // RUN: --cuda-gpu-arch=sm_30 %s 2>&1 \
207
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
16 // RUN: | FileCheck -check-prefixes=BIN %s
150
anatofuz
parents:
diff changeset
17 //
207
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
18 // BIN-DAG: [[P0:[0-9]+]]: input, "{{.*}}cuda-phases.cu", [[T:cuda]], (host-[[T]])
150
anatofuz
parents:
diff changeset
19 // BIN-DAG: [[P1:[0-9]+]]: preprocessor, {[[P0]]}, [[T]]-cpp-output, (host-[[T]])
anatofuz
parents:
diff changeset
20 // BIN-DAG: [[P2:[0-9]+]]: compiler, {[[P1]]}, ir, (host-[[T]])
207
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
21 // BIN-DAG: [[P3:[0-9]+]]: input, "{{.*}}cuda-phases.cu", [[T]], (device-[[T]], [[ARCH:sm_30]])
150
anatofuz
parents:
diff changeset
22 // BIN-DAG: [[P4:[0-9]+]]: preprocessor, {[[P3]]}, [[T]]-cpp-output, (device-[[T]], [[ARCH]])
anatofuz
parents:
diff changeset
23 // BIN-DAG: [[P5:[0-9]+]]: compiler, {[[P4]]}, ir, (device-[[T]], [[ARCH]])
207
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
24 // BIN-DAG: [[P6:[0-9]+]]: backend, {[[P5]]}, assembler, (device-[[T]], [[ARCH]])
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
25 // BIN-DAG: [[P7:[0-9]+]]: assembler, {[[P6]]}, object, (device-[[T]], [[ARCH]])
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
26 // BIN-DAG: [[P8:[0-9]+]]: offload, "device-[[T]] ([[TRIPLE:nvptx64-nvidia-cuda]]:[[ARCH]])" {[[P7]]}, object
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
27 // BIN-DAG: [[P9:[0-9]+]]: offload, "device-[[T]] ([[TRIPLE]]:[[ARCH]])" {[[P6]]}, assembler
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
28 // BIN-DAG: [[P10:[0-9]+]]: linker, {[[P8]], [[P9]]}, cuda-fatbin, (device-[[T]])
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
29 // BIN-DAG: [[P11:[0-9]+]]: offload, "host-[[T]] (powerpc64le-ibm-linux-gnu)" {[[P2]]}, "device-[[T]] ([[TRIPLE]])" {[[P10]]}, ir
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
30 // BIN-DAG: [[P12:[0-9]+]]: backend, {[[P11]]}, assembler, (host-[[T]])
150
anatofuz
parents:
diff changeset
31 // BIN-DAG: [[P13:[0-9]+]]: assembler, {[[P12]]}, object, (host-[[T]])
anatofuz
parents:
diff changeset
32 // BIN-DAG: [[P14:[0-9]+]]: linker, {[[P13]]}, image, (host-[[T]])
anatofuz
parents:
diff changeset
33
anatofuz
parents:
diff changeset
34 //
anatofuz
parents:
diff changeset
35 // Test single gpu architecture up to the assemble phase.
anatofuz
parents:
diff changeset
36 //
anatofuz
parents:
diff changeset
37 // RUN: %clang -target powerpc64le-ibm-linux-gnu -ccc-print-phases \
anatofuz
parents:
diff changeset
38 // RUN: --cuda-gpu-arch=sm_30 %s -S 2>&1 \
207
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
39 // RUN: | FileCheck -check-prefixes=ASM %s
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
40 // ASM-DAG: [[P0:[0-9]+]]: input, "{{.*}}cuda-phases.cu", [[T:cuda]], (device-[[T]], [[ARCH:sm_30]])
150
anatofuz
parents:
diff changeset
41 // ASM-DAG: [[P1:[0-9]+]]: preprocessor, {[[P0]]}, [[T]]-cpp-output, (device-[[T]], [[ARCH]])
anatofuz
parents:
diff changeset
42 // ASM-DAG: [[P2:[0-9]+]]: compiler, {[[P1]]}, ir, (device-[[T]], [[ARCH]])
207
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
43 // ASM-DAG: [[P3:[0-9]+]]: backend, {[[P2]]}, assembler, (device-[[T]], [[ARCH]])
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
44 // ASM-DAG: [[P4:[0-9]+]]: offload, "device-[[T]] ([[TRIPLE:nvptx64-nvidia-cuda]]:[[ARCH]])" {[[P3]]}, assembler
150
anatofuz
parents:
diff changeset
45 // ASM-DAG: [[P5:[0-9]+]]: input, "{{.*}}cuda-phases.cu", [[T]], (host-[[T]])
anatofuz
parents:
diff changeset
46 // ASM-DAG: [[P6:[0-9]+]]: preprocessor, {[[P5]]}, [[T]]-cpp-output, (host-[[T]])
anatofuz
parents:
diff changeset
47 // ASM-DAG: [[P7:[0-9]+]]: compiler, {[[P6]]}, ir, (host-[[T]])
anatofuz
parents:
diff changeset
48 // ASM-DAG: [[P8:[0-9]+]]: backend, {[[P7]]}, assembler, (host-[[T]])
anatofuz
parents:
diff changeset
49
anatofuz
parents:
diff changeset
50 //
anatofuz
parents:
diff changeset
51 // Test two gpu architectures with complete compilation.
anatofuz
parents:
diff changeset
52 //
anatofuz
parents:
diff changeset
53 // RUN: %clang -target powerpc64le-ibm-linux-gnu -ccc-print-phases \
anatofuz
parents:
diff changeset
54 // RUN: --cuda-gpu-arch=sm_30 --cuda-gpu-arch=sm_35 %s 2>&1 \
207
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
55 // RUN: | FileCheck -check-prefixes=BIN2 %s
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
56 // BIN2-DAG: [[P0:[0-9]+]]: input, "{{.*}}cuda-phases.cu", [[T:cuda]], (host-[[T]])
150
anatofuz
parents:
diff changeset
57 // BIN2-DAG: [[P1:[0-9]+]]: preprocessor, {[[P0]]}, [[T]]-cpp-output, (host-[[T]])
anatofuz
parents:
diff changeset
58 // BIN2-DAG: [[P2:[0-9]+]]: compiler, {[[P1]]}, ir, (host-[[T]])
207
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
59 // BIN2-DAG: [[P3:[0-9]+]]: input, "{{.*}}cuda-phases.cu", [[T]], (device-[[T]], [[ARCH1:sm_30]])
150
anatofuz
parents:
diff changeset
60 // BIN2-DAG: [[P4:[0-9]+]]: preprocessor, {[[P3]]}, [[T]]-cpp-output, (device-[[T]], [[ARCH1]])
anatofuz
parents:
diff changeset
61 // BIN2-DAG: [[P5:[0-9]+]]: compiler, {[[P4]]}, ir, (device-[[T]], [[ARCH1]])
207
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
62 // BIN2-DAG: [[P6:[0-9]+]]: backend, {[[P5]]}, assembler, (device-[[T]], [[ARCH1]])
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
63 // BIN2-DAG: [[P7:[0-9]+]]: assembler, {[[P6]]}, object, (device-[[T]], [[ARCH1]])
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
64 // BIN2-DAG: [[P8:[0-9]+]]: offload, "device-[[T]] ([[TRIPLE:nvptx64-nvidia-cuda]]:[[ARCH1]])" {[[P7]]}, object
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
65 // BIN2-DAG: [[P9:[0-9]+]]: offload, "device-[[T]] ([[TRIPLE]]:[[ARCH1]])" {[[P6]]}, assembler
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
66 // BIN2-DAG: [[P10:[0-9]+]]: input, "{{.*}}cuda-phases.cu", [[T]], (device-[[T]], [[ARCH2:sm_35]])
150
anatofuz
parents:
diff changeset
67 // BIN2-DAG: [[P11:[0-9]+]]: preprocessor, {[[P10]]}, [[T]]-cpp-output, (device-[[T]], [[ARCH2]])
anatofuz
parents:
diff changeset
68 // BIN2-DAG: [[P12:[0-9]+]]: compiler, {[[P11]]}, ir, (device-[[T]], [[ARCH2]])
207
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
69 // BIN2-DAG: [[P13:[0-9]+]]: backend, {[[P12]]}, assembler, (device-[[T]], [[ARCH2]])
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
70 // BIN2-DAG: [[P14:[0-9]+]]: assembler, {[[P13]]}, object, (device-[[T]], [[ARCH2]])
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
71 // BIN2-DAG: [[P15:[0-9]+]]: offload, "device-[[T]] ([[TRIPLE]]:[[ARCH2]])" {[[P14]]}, object
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
72 // BIN2-DAG: [[P16:[0-9]+]]: offload, "device-[[T]] ([[TRIPLE]]:[[ARCH2]])" {[[P13]]}, assembler
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
73 // BIN2-DAG: [[P17:[0-9]+]]: linker, {[[P8]], [[P9]], [[P15]], [[P16]]}, cuda-fatbin, (device-[[T]])
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
74 // BIN2-DAG: [[P18:[0-9]+]]: offload, "host-[[T]] (powerpc64le-ibm-linux-gnu)" {[[P2]]}, "device-[[T]] ([[TRIPLE]])" {[[P17]]}, ir
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
75 // BIN2-DAG: [[P19:[0-9]+]]: backend, {[[P18]]}, assembler, (host-[[T]])
150
anatofuz
parents:
diff changeset
76 // BIN2-DAG: [[P20:[0-9]+]]: assembler, {[[P19]]}, object, (host-[[T]])
anatofuz
parents:
diff changeset
77 // BIN2-DAG: [[P21:[0-9]+]]: linker, {[[P20]]}, image, (host-[[T]])
anatofuz
parents:
diff changeset
78
anatofuz
parents:
diff changeset
79 //
anatofuz
parents:
diff changeset
80 // Test two gpu architecturess up to the assemble phase.
anatofuz
parents:
diff changeset
81 //
anatofuz
parents:
diff changeset
82 // RUN: %clang -target powerpc64le-ibm-linux-gnu -ccc-print-phases \
anatofuz
parents:
diff changeset
83 // RUN: --cuda-gpu-arch=sm_30 --cuda-gpu-arch=sm_35 %s -S 2>&1 \
207
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
84 // RUN: | FileCheck -check-prefixes=ASM2 %s
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
85 // ASM2-DAG: [[P0:[0-9]+]]: input, "{{.*}}cuda-phases.cu", [[T:cuda]], (device-[[T]], [[ARCH1:sm_30]])
150
anatofuz
parents:
diff changeset
86 // ASM2-DAG: [[P1:[0-9]+]]: preprocessor, {[[P0]]}, [[T]]-cpp-output, (device-[[T]], [[ARCH1]])
anatofuz
parents:
diff changeset
87 // ASM2-DAG: [[P2:[0-9]+]]: compiler, {[[P1]]}, ir, (device-[[T]], [[ARCH1]])
207
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
88 // ASM2-DAG: [[P3:[0-9]+]]: backend, {[[P2]]}, assembler, (device-[[T]], [[ARCH1]])
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
89 // ASM2-DAG: [[P4:[0-9]+]]: offload, "device-[[T]] ([[TRIPLE:nvptx64-nvidia-cuda]]:[[ARCH1]])" {[[P3]]}, assembler
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
90 // ASM2-DAG: [[P5:[0-9]+]]: input, "{{.*}}cuda-phases.cu", [[T]], (device-[[T]], [[ARCH2:sm_35]])
150
anatofuz
parents:
diff changeset
91 // ASM2-DAG: [[P6:[0-9]+]]: preprocessor, {[[P5]]}, [[T]]-cpp-output, (device-[[T]], [[ARCH2]])
anatofuz
parents:
diff changeset
92 // ASM2-DAG: [[P7:[0-9]+]]: compiler, {[[P6]]}, ir, (device-[[T]], [[ARCH2]])
207
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
93 // ASM2-DAG: [[P8:[0-9]+]]: backend, {[[P7]]}, assembler, (device-[[T]], [[ARCH2]])
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
94 // ASM2-DAG: [[P9:[0-9]+]]: offload, "device-[[T]] ([[TRIPLE]]:[[ARCH2]])" {[[P8]]}, assembler
150
anatofuz
parents:
diff changeset
95 // ASM2-DAG: [[P10:[0-9]+]]: input, "{{.*}}cuda-phases.cu", [[T]], (host-[[T]])
anatofuz
parents:
diff changeset
96 // ASM2-DAG: [[P11:[0-9]+]]: preprocessor, {[[P10]]}, [[T]]-cpp-output, (host-[[T]])
anatofuz
parents:
diff changeset
97 // ASM2-DAG: [[P12:[0-9]+]]: compiler, {[[P11]]}, ir, (host-[[T]])
anatofuz
parents:
diff changeset
98 // ASM2-DAG: [[P13:[0-9]+]]: backend, {[[P12]]}, assembler, (host-[[T]])
anatofuz
parents:
diff changeset
99
anatofuz
parents:
diff changeset
100 //
anatofuz
parents:
diff changeset
101 // Test single gpu architecture with complete compilation in host-only
anatofuz
parents:
diff changeset
102 // compilation mode.
anatofuz
parents:
diff changeset
103 //
anatofuz
parents:
diff changeset
104 // RUN: %clang -target powerpc64le-ibm-linux-gnu -ccc-print-phases \
anatofuz
parents:
diff changeset
105 // RUN: --cuda-gpu-arch=sm_30 %s --cuda-host-only 2>&1 \
207
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
106 // RUN: | FileCheck -check-prefixes=HBIN %s
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
107 // HBIN-DAG: [[P0:[0-9]+]]: input, "{{.*}}cuda-phases.cu", [[T:cuda]], (host-[[T]])
150
anatofuz
parents:
diff changeset
108 // HBIN-DAG: [[P1:[0-9]+]]: preprocessor, {[[P0]]}, [[T]]-cpp-output, (host-[[T]])
anatofuz
parents:
diff changeset
109 // HBIN-DAG: [[P2:[0-9]+]]: compiler, {[[P1]]}, ir, (host-[[T]])
anatofuz
parents:
diff changeset
110 // HBIN-DAG: [[P3:[0-9]+]]: backend, {[[P2]]}, assembler, (host-[[T]])
anatofuz
parents:
diff changeset
111 // HBIN-DAG: [[P4:[0-9]+]]: assembler, {[[P3]]}, object, (host-[[T]])
anatofuz
parents:
diff changeset
112 // HBIN-DAG: [[P5:[0-9]+]]: linker, {[[P4]]}, image, (host-[[T]])
anatofuz
parents:
diff changeset
113 // HBIN-NOT: device
anatofuz
parents:
diff changeset
114 //
anatofuz
parents:
diff changeset
115 // Test single gpu architecture up to the assemble phase in host-only
anatofuz
parents:
diff changeset
116 // compilation mode.
anatofuz
parents:
diff changeset
117 //
anatofuz
parents:
diff changeset
118 // RUN: %clang -target powerpc64le-ibm-linux-gnu -ccc-print-phases \
anatofuz
parents:
diff changeset
119 // RUN: --cuda-gpu-arch=sm_30 %s --cuda-host-only -S 2>&1 \
207
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
120 // RUN: | FileCheck -check-prefixes=HASM %s
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
121 // HASM-DAG: [[P0:[0-9]+]]: input, "{{.*}}cuda-phases.cu", [[T:cuda]], (host-[[T]])
150
anatofuz
parents:
diff changeset
122 // HASM-DAG: [[P1:[0-9]+]]: preprocessor, {[[P0]]}, [[T]]-cpp-output, (host-[[T]])
anatofuz
parents:
diff changeset
123 // HASM-DAG: [[P2:[0-9]+]]: compiler, {[[P1]]}, ir, (host-[[T]])
anatofuz
parents:
diff changeset
124 // HASM-DAG: [[P3:[0-9]+]]: backend, {[[P2]]}, assembler, (host-[[T]])
anatofuz
parents:
diff changeset
125 // HASM-NOT: device
anatofuz
parents:
diff changeset
126
anatofuz
parents:
diff changeset
127 //
anatofuz
parents:
diff changeset
128 // Test two gpu architectures with complete compilation in host-only
anatofuz
parents:
diff changeset
129 // compilation mode.
anatofuz
parents:
diff changeset
130 //
anatofuz
parents:
diff changeset
131 // RUN: %clang -target powerpc64le-ibm-linux-gnu -ccc-print-phases \
anatofuz
parents:
diff changeset
132 // RUN: --cuda-gpu-arch=sm_30 --cuda-gpu-arch=sm_35 %s --cuda-host-only 2>&1 \
207
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
133 // RUN: | FileCheck -check-prefixes=HBIN2 %s
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
134 // HBIN2-DAG: [[P0:[0-9]+]]: input, "{{.*}}cuda-phases.cu", [[T:cuda]], (host-[[T]])
150
anatofuz
parents:
diff changeset
135 // HBIN2-DAG: [[P1:[0-9]+]]: preprocessor, {[[P0]]}, [[T]]-cpp-output, (host-[[T]])
anatofuz
parents:
diff changeset
136 // HBIN2-DAG: [[P2:[0-9]+]]: compiler, {[[P1]]}, ir, (host-[[T]])
anatofuz
parents:
diff changeset
137 // HBIN2-DAG: [[P3:[0-9]+]]: backend, {[[P2]]}, assembler, (host-[[T]])
anatofuz
parents:
diff changeset
138 // HBIN2-DAG: [[P4:[0-9]+]]: assembler, {[[P3]]}, object, (host-[[T]])
anatofuz
parents:
diff changeset
139 // HBIN2-DAG: [[P5:[0-9]+]]: linker, {[[P4]]}, image, (host-[[T]])
anatofuz
parents:
diff changeset
140 // HBIN2-NOT: device
anatofuz
parents:
diff changeset
141
anatofuz
parents:
diff changeset
142 //
anatofuz
parents:
diff changeset
143 // Test two gpu architectures up to the assemble phase in host-only
anatofuz
parents:
diff changeset
144 // compilation mode.
anatofuz
parents:
diff changeset
145 //
anatofuz
parents:
diff changeset
146 // RUN: %clang -target powerpc64le-ibm-linux-gnu -ccc-print-phases \
anatofuz
parents:
diff changeset
147 // RUN: --cuda-gpu-arch=sm_30 --cuda-gpu-arch=sm_35 %s --cuda-host-only -S \
207
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
148 // RUN: 2>&1 | FileCheck -check-prefixes=HASM2 %s
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
149 // HASM2-DAG: [[P0:[0-9]+]]: input, "{{.*}}cuda-phases.cu", [[T:cuda]], (host-[[T]])
150
anatofuz
parents:
diff changeset
150 // HASM2-DAG: [[P1:[0-9]+]]: preprocessor, {[[P0]]}, [[T]]-cpp-output, (host-[[T]])
anatofuz
parents:
diff changeset
151 // HASM2-DAG: [[P2:[0-9]+]]: compiler, {[[P1]]}, ir, (host-[[T]])
anatofuz
parents:
diff changeset
152 // HASM2-DAG: [[P3:[0-9]+]]: backend, {[[P2]]}, assembler, (host-[[T]])
anatofuz
parents:
diff changeset
153 // HASM2-NOT: device
anatofuz
parents:
diff changeset
154
anatofuz
parents:
diff changeset
155 //
anatofuz
parents:
diff changeset
156 // Test single gpu architecture with complete compilation in device-only
anatofuz
parents:
diff changeset
157 // compilation mode.
anatofuz
parents:
diff changeset
158 //
anatofuz
parents:
diff changeset
159 // RUN: %clang -target powerpc64le-ibm-linux-gnu -ccc-print-phases \
anatofuz
parents:
diff changeset
160 // RUN: --cuda-gpu-arch=sm_30 %s --cuda-device-only 2>&1 \
207
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
161 // RUN: | FileCheck -check-prefixes=DBIN %s
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
162 // DBIN-DAG: [[P0:[0-9]+]]: input, "{{.*}}cuda-phases.cu", [[T:cuda]], (device-[[T]], [[ARCH:sm_30]])
150
anatofuz
parents:
diff changeset
163 // DBIN-DAG: [[P1:[0-9]+]]: preprocessor, {[[P0]]}, [[T]]-cpp-output, (device-[[T]], [[ARCH]])
anatofuz
parents:
diff changeset
164 // DBIN-DAG: [[P2:[0-9]+]]: compiler, {[[P1]]}, ir, (device-[[T]], [[ARCH]])
207
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
165 // DBIN-DAG: [[P3:[0-9]+]]: backend, {[[P2]]}, assembler, (device-[[T]], [[ARCH]])
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
166 // DBIN-DAG: [[P4:[0-9]+]]: assembler, {[[P3]]}, object, (device-[[T]], [[ARCH]])
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
167 // DBIN-DAG: [[P5:[0-9]+]]: offload, "device-[[T]] (nvptx64-nvidia-cuda:[[ARCH]])" {[[P4]]}, object
150
anatofuz
parents:
diff changeset
168 // DBIN-NOT: host
anatofuz
parents:
diff changeset
169 //
anatofuz
parents:
diff changeset
170 // Test single gpu architecture up to the assemble phase in device-only
anatofuz
parents:
diff changeset
171 // compilation mode.
anatofuz
parents:
diff changeset
172 //
anatofuz
parents:
diff changeset
173 // RUN: %clang -target powerpc64le-ibm-linux-gnu -ccc-print-phases \
anatofuz
parents:
diff changeset
174 // RUN: --cuda-gpu-arch=sm_30 %s --cuda-device-only -S 2>&1 \
207
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
175 // RUN: | FileCheck -check-prefixes=DASM %s
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
176 // DASM-DAG: [[P0:[0-9]+]]: input, "{{.*}}cuda-phases.cu", [[T:cuda]], (device-[[T]], [[ARCH:sm_30]])
150
anatofuz
parents:
diff changeset
177 // DASM-DAG: [[P1:[0-9]+]]: preprocessor, {[[P0]]}, [[T]]-cpp-output, (device-[[T]], [[ARCH]])
anatofuz
parents:
diff changeset
178 // DASM-DAG: [[P2:[0-9]+]]: compiler, {[[P1]]}, ir, (device-[[T]], [[ARCH]])
207
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
179 // DASM-DAG: [[P3:[0-9]+]]: backend, {[[P2]]}, assembler, (device-[[T]], [[ARCH]])
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
180 // DASM-DAG: [[P4:[0-9]+]]: offload, "device-[[T]] ([[TRIPLE:nvptx64-nvidia-cuda]]:[[ARCH]])" {[[P3]]}, assembler
150
anatofuz
parents:
diff changeset
181 // DASM-NOT: host
anatofuz
parents:
diff changeset
182
anatofuz
parents:
diff changeset
183 //
anatofuz
parents:
diff changeset
184 // Test two gpu architectures with complete compilation in device-only
anatofuz
parents:
diff changeset
185 // compilation mode.
anatofuz
parents:
diff changeset
186 //
anatofuz
parents:
diff changeset
187 // RUN: %clang -target powerpc64le-ibm-linux-gnu -ccc-print-phases \
anatofuz
parents:
diff changeset
188 // RUN: --cuda-gpu-arch=sm_30 --cuda-gpu-arch=sm_35 %s --cuda-device-only 2>&1 \
207
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
189 // RUN: | FileCheck -check-prefixes=DBIN2 %s
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
190 // DBIN2-DAG: [[P0:[0-9]+]]: input, "{{.*}}cuda-phases.cu", [[T:cuda]], (device-[[T]], [[ARCH:sm_30]])
150
anatofuz
parents:
diff changeset
191 // DBIN2-DAG: [[P1:[0-9]+]]: preprocessor, {[[P0]]}, [[T]]-cpp-output, (device-[[T]], [[ARCH]])
anatofuz
parents:
diff changeset
192 // DBIN2-DAG: [[P2:[0-9]+]]: compiler, {[[P1]]}, ir, (device-[[T]], [[ARCH]])
207
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
193 // DBIN2-DAG: [[P3:[0-9]+]]: backend, {[[P2]]}, assembler, (device-[[T]], [[ARCH]])
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
194 // DBIN2-DAG: [[P4:[0-9]+]]: assembler, {[[P3]]}, object, (device-[[T]], [[ARCH]])
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
195 // DBIN2-DAG: [[P5:[0-9]+]]: offload, "device-[[T]] ([[TRIPLE:nvptx64-nvidia-cuda]]:[[ARCH]])" {[[P4]]}, object
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
196 // DBIN2-DAG: [[P6:[0-9]+]]: input, "{{.*}}cuda-phases.cu", [[T]], (device-[[T]], [[ARCH2:sm_35]])
150
anatofuz
parents:
diff changeset
197 // DBIN2-DAG: [[P7:[0-9]+]]: preprocessor, {[[P6]]}, [[T]]-cpp-output, (device-[[T]], [[ARCH2]])
anatofuz
parents:
diff changeset
198 // DBIN2-DAG: [[P8:[0-9]+]]: compiler, {[[P7]]}, ir, (device-[[T]], [[ARCH2]])
207
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
199 // DBIN2-DAG: [[P9:[0-9]+]]: backend, {[[P8]]}, assembler, (device-[[T]], [[ARCH2]])
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
200 // DBIN2-DAG: [[P10:[0-9]+]]: assembler, {[[P9]]}, object, (device-[[T]], [[ARCH2]])
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
201 // DBIN2-DAG: [[P11:[0-9]+]]: offload, "device-[[T]] ([[TRIPLE]]:[[ARCH2]])" {[[P10]]}, object
150
anatofuz
parents:
diff changeset
202 // DBIN2-NOT: host
anatofuz
parents:
diff changeset
203 //
anatofuz
parents:
diff changeset
204 // Test two gpu architectures up to the assemble phase in device-only
anatofuz
parents:
diff changeset
205 // compilation mode.
anatofuz
parents:
diff changeset
206 //
anatofuz
parents:
diff changeset
207 // RUN: %clang -target powerpc64le-ibm-linux-gnu -ccc-print-phases \
anatofuz
parents:
diff changeset
208 // RUN: --cuda-gpu-arch=sm_30 --cuda-gpu-arch=sm_35 %s --cuda-device-only -S \
207
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
209 // RUN: 2>&1 | FileCheck -check-prefixes=DASM2 %s
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
210 // DASM2-DAG: [[P0:[0-9]+]]: input, "{{.*}}cuda-phases.cu", [[T:cuda]], (device-[[T]], [[ARCH:sm_30]])
150
anatofuz
parents:
diff changeset
211 // DASM2-DAG: [[P1:[0-9]+]]: preprocessor, {[[P0]]}, [[T]]-cpp-output, (device-[[T]], [[ARCH]])
anatofuz
parents:
diff changeset
212 // DASM2-DAG: [[P2:[0-9]+]]: compiler, {[[P1]]}, ir, (device-[[T]], [[ARCH]])
207
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
213 // DASM2-DAG: [[P3:[0-9]+]]: backend, {[[P2]]}, assembler, (device-[[T]], [[ARCH]])
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
214 // DASM2-DAG: [[P4:[0-9]+]]: offload, "device-[[T]] ([[TRIPLE:nvptx64-nvidia-cuda]]:[[ARCH]])" {[[P3]]}, assembler
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
215 // DASM2-DAG: [[P5:[0-9]+]]: input, "{{.*}}cuda-phases.cu", [[T]], (device-[[T]], [[ARCH2:sm_35]])
150
anatofuz
parents:
diff changeset
216 // DASM2-DAG: [[P6:[0-9]+]]: preprocessor, {[[P5]]}, [[T]]-cpp-output, (device-[[T]], [[ARCH2]])
anatofuz
parents:
diff changeset
217 // DASM2-DAG: [[P7:[0-9]+]]: compiler, {[[P6]]}, ir, (device-[[T]], [[ARCH2]])
207
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
218 // DASM2-DAG: [[P8:[0-9]+]]: backend, {[[P7]]}, assembler, (device-[[T]], [[ARCH2]])
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 150
diff changeset
219 // DASM2-DAG: [[P9:[0-9]+]]: offload, "device-[[T]] ([[TRIPLE]]:[[ARCH2]])" {[[P8]]}, assembler
150
anatofuz
parents:
diff changeset
220 // DASM2-NOT: host