xref: /llvm-project/clang/test/Driver/cuda-via-liboffload.cu (revision 80525dfcde5bf8aae6ab6b0810124ba502de6096)
1*80525dfcSJohannes Doerfert // RUN: %clang -### -target x86_64-linux-gnu -foffload-via-llvm -ccc-print-bindings \
2*80525dfcSJohannes Doerfert // RUN:        --offload-arch=sm_35 --offload-arch=sm_70 %s 2>&1 \
3*80525dfcSJohannes Doerfert // RUN: | FileCheck -check-prefix BINDINGS %s
4*80525dfcSJohannes Doerfert 
5*80525dfcSJohannes Doerfert //      BINDINGS: "x86_64-unknown-linux-gnu" - "clang", inputs: ["[[INPUT:.+]]"], output: "[[HOST_BC:.+]]"
6*80525dfcSJohannes Doerfert // BINDINGS-NEXT: "nvptx64-nvidia-cuda" - "clang", inputs: ["[[INPUT]]", "[[HOST_BC]]"], output: "[[PTX_SM_35:.+]]"
7*80525dfcSJohannes Doerfert // BINDINGS-NEXT: "nvptx64-nvidia-cuda" - "NVPTX::Assembler", inputs: ["[[PTX_SM_35]]"], output: "[[CUBIN_SM_35:.+]]"
8*80525dfcSJohannes Doerfert // BINDINGS-NEXT: "nvptx64-nvidia-cuda" - "clang", inputs: ["[[INPUT]]", "[[HOST_BC]]"], output: "[[PTX_SM_70:.+]]"
9*80525dfcSJohannes Doerfert // BINDINGS-NEXT: "nvptx64-nvidia-cuda" - "NVPTX::Assembler", inputs: ["[[PTX_SM_70:.+]]"], output: "[[CUBIN_SM_70:.+]]"
10*80525dfcSJohannes Doerfert // BINDINGS-NEXT: "x86_64-unknown-linux-gnu" - "Offload::Packager", inputs: ["[[CUBIN_SM_35]]", "[[CUBIN_SM_70]]"], output: "[[BINARY:.+]]"
11*80525dfcSJohannes Doerfert // BINDINGS-NEXT: "x86_64-unknown-linux-gnu" - "clang", inputs: ["[[HOST_BC]]", "[[BINARY]]"], output: "[[HOST_OBJ:.+]]"
12*80525dfcSJohannes Doerfert // BINDINGS-NEXT: "x86_64-unknown-linux-gnu" - "Offload::Linker", inputs: ["[[HOST_OBJ]]"], output: "a.out"
13*80525dfcSJohannes Doerfert 
14*80525dfcSJohannes Doerfert // RUN: %clang -### -target x86_64-linux-gnu -foffload-via-llvm -ccc-print-bindings \
15*80525dfcSJohannes Doerfert // RUN:        --offload-arch=sm_35 --offload-arch=sm_70 %s 2>&1 \
16*80525dfcSJohannes Doerfert // RUN: | FileCheck -check-prefix BINDINGS-DEVICE %s
17*80525dfcSJohannes Doerfert 
18*80525dfcSJohannes Doerfert // BINDINGS-DEVICE: # "nvptx64-nvidia-cuda" - "clang", inputs: ["[[INPUT:.+]]"], output: "[[PTX:.+]]"
19*80525dfcSJohannes Doerfert // BINDINGS-DEVICE: # "nvptx64-nvidia-cuda" - "NVPTX::Assembler", inputs: ["[[PTX]]"], output: "[[CUBIN:.+]]"
20*80525dfcSJohannes Doerfert 
21*80525dfcSJohannes Doerfert // RUN: %clang -### -target x86_64-linux-gnu -ccc-print-bindings --offload-link -foffload-via-llvm %s 2>&1 | FileCheck -check-prefix DEVICE-LINK %s
22*80525dfcSJohannes Doerfert 
23*80525dfcSJohannes Doerfert // DEVICE-LINK: "x86_64-unknown-linux-gnu" - "Offload::Linker", inputs: ["[[INPUT:.+]]"], output: "a.out"
24