|
53 | 53 | // RUN: %clang -### -fsycl --offload-new-driver %s 2>&1 \ |
54 | 54 | // RUN: | FileCheck -check-prefix=CHECK-NO-THRESH %s |
55 | 55 | // CHECK-NO-THRESH-NOT: "-mllvm" "-inline-threshold |
| 56 | + |
| 57 | +/// Check that optimizations for sycl device are disabled with -g passed: |
| 58 | +// RUN: %clang -### -fsycl -g %s 2>&1 \ |
| 59 | +// RUN: | FileCheck -check-prefix=CHECK-DEBUG %s |
| 60 | +// RUN: %clang_cl -### -fsycl -g %s 2>&1 \ |
| 61 | +// RUN: | FileCheck -check-prefix=CHECK-DEBUG %s |
| 62 | +// CHECK-DEBUG: clang{{.*}} "-fsycl-is-device{{.*}}" "-O0" |
| 63 | +// CHECK-DEBUG: sycl-post-link{{.*}} "-O0" |
| 64 | +// CHECK-DEBUG-NOT: "-O2" |
| 65 | + |
| 66 | +/// Check that optimizations for sycl device are enabled with -g and O2 passed: |
| 67 | +// RUN: %clang -### -fsycl -O2 -g %s 2>&1 \ |
| 68 | +// RUN: | FileCheck -check-prefix=CHECK-G-O2 %s |
| 69 | +// For clang_cl, -O2 maps to -O3 |
| 70 | +// RUN: %clang_cl -### -fsycl -O2 -g %s 2>&1 \ |
| 71 | +// RUN: | FileCheck -check-prefix=CHECK-G-O3 %s |
| 72 | +// CHECK-G-O2: clang{{.*}} "-fsycl-is-device{{.*}}" "-O2" |
| 73 | +// CHECK-G-O2: sycl-post-link{{.*}} "-O2" |
| 74 | +// CHECK-G-O2-NOT: "-O0" |
| 75 | +// CHECK-G-O3: clang{{.*}} "-fsycl-is-device{{.*}}" "-O3" |
| 76 | +// CHECK-G-O3: sycl-post-link{{.*}} "-O3" |
| 77 | +// CHECK-G-O3-NOT: "-O0" |
| 78 | + |
| 79 | +/// Check that -O2 is passed for FPGA |
| 80 | +// RUN: %clang -### -fintelfpga -fsycl-early-optimizations %s 2>&1 \ |
| 81 | +// RUN: | FileCheck -check-prefix=CHECK-FPGA %s |
| 82 | +// RUN: %clang_cl -### -fintelfpga -fsycl-early-optimizations %s 2>&1 \ |
| 83 | +// RUN: | FileCheck -check-prefix=CHECK-FPGA %s |
| 84 | +// CHECK-FPGA: clang{{.*}} "-fsycl-is-device{{.*}}" "-O2" |
| 85 | +// CHECK-FPGA: sycl-post-link{{.*}} "-O2" |
| 86 | +// CHECK-FPGA-NOT: "-O0" |
| 87 | + |
| 88 | +/// Check that -O2 preserves for FPGA when it's explicitly passed |
| 89 | +// RUN: %clang -### -O2 -fintelfpga -fsycl-early-optimizations %s 2>&1 \ |
| 90 | +// RUN: | FileCheck -check-prefix=CHECK-FPGA-O2 %s |
| 91 | +// For clang_cl, -O2 maps to -O3 |
| 92 | +// RUN: %clang_cl -### -O2 -fintelfpga -fsycl-early-optimizations %s 2>&1 \ |
| 93 | +// RUN: | FileCheck -check-prefix=CHECK-FPGA-O3 %s |
| 94 | +// CHECK-FPGA-O2: clang{{.*}} "-fsycl-is-device{{.*}}" "-O2" |
| 95 | +// CHECK-FPGA-O2: sycl-post-link{{.*}} "-O2" |
| 96 | +// CHECK-FPGA-O2-NOT: "-O0" |
| 97 | +// CHECK-FPGA-O3: clang{{.*}} "-fsycl-is-device{{.*}}" "-O3" |
| 98 | +// CHECK-FPGA-O3: sycl-post-link{{.*}} "-O3" |
| 99 | +// CHECK-FPGA-O3-NOT: "-O0" |
| 100 | + |
| 101 | +/// Check that -O0 is passed for FPGA when -g is explicitly passed |
| 102 | +// RUN: %clang -### -fintelfpga -g %s 2>&1 \ |
| 103 | +// RUN: | FileCheck -check-prefix=CHECK-FPGA-O0 %s |
| 104 | +// RUN: %clang_cl -### -fintelfpga -g %s 2>&1 \ |
| 105 | +// RUN: | FileCheck -check-prefix=CHECK-FPGA-O0 %s |
| 106 | +// CHECK-FPGA-O0: clang{{.*}} "-fsycl-is-device{{.*}}" "-O0" |
| 107 | +// CHECK-FPGA-O0: sycl-post-link{{.*}} "-O0" |
| 108 | +// CHECK-FPGA-O0-NOT: "-O2" |
| 109 | + |
| 110 | + |
| 111 | + |
0 commit comments