|
3 | 3 |
|
4 | 4 | // UNSUPPORTED: system-windows |
5 | 5 |
|
| 6 | +// Check that the offload arch is required |
| 7 | +// RUN: %clangxx -### -std=c++11 -target x86_64-unknown-linux-gnu -fsycl \ |
| 8 | +// RUN: -fsycl-targets=amdgcn-amd-amdhsa-sycldevice %s 2>&1 \ |
| 9 | +// RUN: | FileCheck -check-prefix=CHK-ARCH %s |
| 10 | +// CHK-ARCH: error: missing AMDGPU architecture for SYCL offloading; specify it with '-Xsycl-target-backend --offload-arch' |
| 11 | + |
6 | 12 | /// Check action graph. |
7 | 13 | // RUN: %clangxx -### -std=c++11 -target x86_64-unknown-linux-gnu -fsycl \ |
8 | | -// RUN: -fsycl-targets=amdgcn-amd-amdhsa-sycldevice -mcpu=gfx906 \ |
| 14 | +// RUN: -fsycl-targets=amdgcn-amd-amdhsa-sycldevice -Xsycl-target-backend --offload-arch=gfx906 \ |
9 | 15 | // RUN: -fsycl-libspirv-path=%S/Inputs/SYCL/libspirv.bc %s 2>&1 \ |
10 | 16 | // RUN: | FileCheck -check-prefix=CHK-ACTIONS %s |
11 | 17 | // CHK-ACTIONS: "-cc1" "-triple" "amdgcn-amd-amdhsa-sycldevice" "-aux-triple" "x86_64-unknown-linux-gnu"{{.*}} "-fsycl-is-device"{{.*}} "-Wno-sycl-strict"{{.*}} "-sycl-std=2020" {{.*}} "-internal-isystem" "{{.*}}bin{{[/\\]+}}..{{[/\\]+}}include{{[/\\]+}}sycl"{{.*}} "-mlink-builtin-bitcode" "{{.*}}libspirv.bc"{{.*}} "-target-cpu" "gfx906"{{.*}} "-std=c++11"{{.*}} |
12 | 18 | // CHK-ACTIONS-NOT: "-mllvm -sycl-opt" |
13 | | -// CHK-ACTIONS: clang-offload-wrapper"{{.*}} "-host=x86_64-unknown-linux-gnu" "-target=amdgcn" "-kind=sycl"{{.*}} |
| 19 | +// CHK-ACTIONS: clang-offload-wrapper"{{.*}} "-host=x86_64-unknown-linux-gnu" "-compile-opts=--offload-arch=gfx906" "-target=amdgcn" "-kind=sycl"{{.*}} |
14 | 20 |
|
15 | 21 | /// Check phases w/out specifying a compute capability. |
16 | 22 | // RUN: %clangxx -ccc-print-phases -std=c++11 -target x86_64-unknown-linux-gnu -fsycl \ |
17 | | -// RUN: -fsycl-targets=amdgcn-amd-amdhsa-sycldevice -mcpu=gfx906 %s 2>&1 \ |
| 23 | +// RUN: -fsycl-targets=amdgcn-amd-amdhsa-sycldevice -Xsycl-target-backend --offload-arch=gfx906 %s 2>&1 \ |
18 | 24 | // RUN: | FileCheck -check-prefix=CHK-PHASES-NO-CC %s |
19 | 25 | // CHK-PHASES-NO-CC: 0: input, "{{.*}}", c++, (host-sycl) |
20 | 26 | // CHK-PHASES-NO-CC: 1: append-footer, {0}, c++, (host-sycl) |
21 | 27 | // CHK-PHASES-NO-CC: 2: preprocessor, {1}, c++-cpp-output, (host-sycl) |
22 | | -// CHK-PHASES-NO-CC: 3: input, "{{.*}}", c++, (device-sycl) |
23 | | -// CHK-PHASES-NO-CC: 4: preprocessor, {3}, c++-cpp-output, (device-sycl) |
24 | | -// CHK-PHASES-NO-CC: 5: compiler, {4}, ir, (device-sycl) |
25 | | -// CHK-PHASES-NO-CC: 6: offload, "host-sycl (x86_64-unknown-linux-gnu)" {2}, "device-sycl (amdgcn-amd-amdhsa-sycldevice)" {5}, c++-cpp-output |
| 28 | +// CHK-PHASES-NO-CC: 3: input, "{{.*}}", c++, (device-sycl, gfx906) |
| 29 | +// CHK-PHASES-NO-CC: 4: preprocessor, {3}, c++-cpp-output, (device-sycl, gfx906) |
| 30 | +// CHK-PHASES-NO-CC: 5: compiler, {4}, ir, (device-sycl, gfx906) |
| 31 | +// CHK-PHASES-NO-CC: 6: offload, "host-sycl (x86_64-unknown-linux-gnu)" {2}, "device-sycl (amdgcn-amd-amdhsa-sycldevice:gfx906)" {5}, c++-cpp-output |
26 | 32 | // CHK-PHASES-NO-CC: 7: compiler, {6}, ir, (host-sycl) |
27 | 33 | // CHK-PHASES-NO-CC: 8: backend, {7}, assembler, (host-sycl) |
28 | 34 | // CHK-PHASES-NO-CC: 9: assembler, {8}, object, (host-sycl) |
29 | 35 | // CHK-PHASES-NO-CC: 10: linker, {9}, image, (host-sycl) |
30 | | -// CHK-PHASES-NO-CC: 11: linker, {5}, ir, (device-sycl) |
31 | | -// CHK-PHASES-NO-CC: 12: sycl-post-link, {11}, ir, (device-sycl) |
32 | | -// CHK-PHASES-NO-CC: 13: file-table-tform, {12}, ir, (device-sycl) |
33 | | -// CHK-PHASES-NO-CC: 14: backend, {13}, assembler, (device-sycl) |
34 | | -// CHK-PHASES-NO-CC: 15: assembler, {14}, object, (device-sycl) |
35 | | -// CHK-PHASES-NO-CC: 16: linker, {15}, image, (device-sycl) |
36 | | -// CHK-PHASES-NO-CC: 17: linker, {16}, hip-fatbin, (device-sycl) |
37 | | -// CHK-PHASES-NO-CC: 18: foreach, {13, 17}, hip-fatbin, (device-sycl) |
38 | | -// CHK-PHASES-NO-CC: 19: file-table-tform, {12, 18}, tempfiletable, (device-sycl) |
39 | | -// CHK-PHASES-NO-CC: 20: clang-offload-wrapper, {19}, object, (device-sycl) |
40 | | -// CHK-PHASES-NO-CC: 21: offload, "host-sycl (x86_64-unknown-linux-gnu)" {10}, "device-sycl (amdgcn-amd-amdhsa-sycldevice)" {20}, image |
| 36 | +// CHK-PHASES-NO-CC: 11: linker, {5}, ir, (device-sycl, gfx906) |
| 37 | +// CHK-PHASES-NO-CC: 12: sycl-post-link, {11}, ir, (device-sycl, gfx906) |
| 38 | +// CHK-PHASES-NO-CC: 13: file-table-tform, {12}, ir, (device-sycl, gfx906) |
| 39 | +// CHK-PHASES-NO-CC: 14: backend, {13}, assembler, (device-sycl, gfx906) |
| 40 | +// CHK-PHASES-NO-CC: 15: assembler, {14}, object, (device-sycl, gfx906) |
| 41 | +// CHK-PHASES-NO-CC: 16: linker, {15}, image, (device-sycl, gfx906) |
| 42 | +// CHK-PHASES-NO-CC: 17: linker, {16}, hip-fatbin, (device-sycl, gfx906) |
| 43 | +// CHK-PHASES-NO-CC: 18: foreach, {13, 17}, hip-fatbin, (device-sycl, gfx906) |
| 44 | +// CHK-PHASES-NO-CC: 19: file-table-tform, {12, 18}, tempfiletable, (device-sycl, gfx906) |
| 45 | +// CHK-PHASES-NO-CC: 20: clang-offload-wrapper, {19}, object, (device-sycl, gfx906) |
| 46 | +// CHK-PHASES-NO-CC: 21: offload, "host-sycl (x86_64-unknown-linux-gnu)" {10}, "device-sycl (amdgcn-amd-amdhsa-sycldevice:gfx906)" {20}, image |
0 commit comments