File tree Expand file tree Collapse file tree 1 file changed +26
-0
lines changed Expand file tree Collapse file tree 1 file changed +26
-0
lines changed Original file line number Diff line number Diff line change
1
+ // Check that AlwaysInliner pass is always run for compilation of SYCL device
2
+ // target code, even if all optimizations are disabled.
3
+
4
+ // RUN: %clang_cc1 -fsycl-is-device -triple spir64-unknown-unknown-sycldevice -emit-llvm \
5
+ // RUN: -mllvm -debug-pass=Structure %s -o - 2>&1 \
6
+ // RUN: | FileCheck %s --check-prefix=CHECK-EARLYOPT
7
+ // CHECK-EARLYOPT: Function Integration/Inlining
8
+ // CHECK-EARLYOPT: Replace __sycl_allocateLocalMemory with allocation of memory in local address space
9
+
10
+ // RUN: %clang_cc1 -fsycl-is-device -triple spir64-unknown-unknown-sycldevice -emit-llvm \
11
+ // RUN: -mllvm -debug-pass=Structure %s -o - -disable-llvm-passes 2>&1 \
12
+ // RUN: | FileCheck %s --check-prefix=CHECK-NOPASSES
13
+ // CHECK-NOPASSES: Inliner for always_inline functions
14
+ // CHECK-NOPASSES: Replace __sycl_allocateLocalMemory with allocation of memory in local address space
15
+
16
+ // RUN: %clang_cc1 -fsycl-is-device -triple spir64-unknown-unknown-sycldevice -emit-llvm \
17
+ // RUN: -mllvm -debug-pass=Structure %s -o - -fno-sycl-early-optimizations 2>&1 \
18
+ // RUN: | FileCheck %s --check-prefix=CHECK-NOEARLYOPT
19
+ // CHECK-NOEARLYOPT: Inliner for always_inline functions
20
+ // CHECK-NOEARLYOPT: Replace __sycl_allocateLocalMemory with allocation of memory in local address space
21
+
22
+ // RUN: %clang_cc1 -fsycl-is-device -triple spir64-unknown-unknown-sycldevice -emit-llvm \
23
+ // RUN: -mllvm -debug-pass=Structure %s -o - -O0 2>&1 \
24
+ // RUN: | FileCheck %s --check-prefix=CHECK-O0opt
25
+ // CHECK-O0opt: Inliner for always_inline functions
26
+ // CHECK-O0opt: Replace __sycl_allocateLocalMemory with allocation of memory in local address space
You can’t perform that action at this time.
0 commit comments