Clang Project

clang_source_code/test/Driver/hip-toolchain-mllvm.hip
1// REQUIRES: clang-driver
2// REQUIRES: x86-registered-target
3// REQUIRES: amdgpu-registered-target
4
5// RUN: %clang -### -target x86_64-linux-gnu \
6// RUN:   -x hip --cuda-gpu-arch=gfx803 --cuda-gpu-arch=gfx900 \
7// RUN:   -mllvm -amdgpu-function-calls=0 \
8// RUN:   %s 2>&1 | FileCheck %s
9
10// CHECK: [[CLANG:".*clang.*"]] "-cc1" "-triple" "amdgcn-amd-amdhsa"
11// CHECK-SAME: "-aux-triple" "x86_64-unknown-linux-gnu"
12// CHECK-SAME: "-emit-llvm-bc"
13// CHECK-SAME: {{.*}} "-target-cpu" "gfx803"
14// CHECK-SAME: {{.*}} "-mllvm" "-amdgpu-function-calls=0" {{.*}}
15
16// CHECK: [[OPT:".*opt"]] {{".*-gfx803-linked.*bc"}} "-mtriple=amdgcn-amd-amdhsa"
17// CHECK-SAME: "-mcpu=gfx803" "-amdgpu-function-calls=0"
18// CHECK-SAME: "-o" [[OPT_803_BC:".*-gfx803-optimized.*bc"]]
19
20// CHECK: [[LLC: ".*llc"]] [[OPT_803_BC]]
21// CHECK-SAME: "-mtriple=amdgcn-amd-amdhsa" "-filetype=obj"
22// CHECK-SAME: {{.*}} "-mcpu=gfx803"
23// CHECK-SAME: "-amdgpu-function-calls=0" "-o" {{".*-gfx803-.*o"}}
24
25// CHECK: [[CLANG]] "-cc1" "-triple" "amdgcn-amd-amdhsa"
26// CHECK-SAME: "-aux-triple" "x86_64-unknown-linux-gnu"
27// CHECK-SAME: "-emit-llvm-bc"
28// CHECK-SAME: {{.*}} "-target-cpu" "gfx900"
29// CHECK-SAME: {{.*}} "-mllvm" "-amdgpu-function-calls=0" {{.*}}
30
31// CHECK: [[OPT]] {{".*-gfx900-linked.*bc"}} "-mtriple=amdgcn-amd-amdhsa"
32// CHECK-SAME: "-mcpu=gfx900" "-amdgpu-function-calls=0"
33// CHECK-SAME: "-o" [[OPT_900_BC:".*-gfx900-optimized.*bc"]]
34
35// CHECK: [[LLC]] [[OPT_900_BC]]
36// CHECK-SAME: "-mtriple=amdgcn-amd-amdhsa" "-filetype=obj"
37// CHECK-SAME: {{.*}} "-mcpu=gfx900"
38// CHECK-SAME: "-amdgpu-function-calls=0" "-o" {{".*-gfx900-.*o"}}
39