File tree Expand file tree Collapse file tree 2 files changed +13
-2
lines changed Expand file tree Collapse file tree 2 files changed +13
-2
lines changed Original file line number Diff line number Diff line change @@ -1093,8 +1093,9 @@ void EmitAssemblyHelper::RunOptimizationPipeline(
1093
1093
ThinOrFullLTOPhase) {
1094
1094
MPM.addPass (createModuleToFunctionPassAdaptor (
1095
1095
InferAddressSpacesPass (clang::targets::SPIR_GENERIC_AS)));
1096
- MPM.addPass (
1097
- createModuleToFunctionPassAdaptor (SYCLOptimizeBarriersPass ()));
1096
+ if (Level != OptimizationLevel::O0)
1097
+ MPM.addPass (createModuleToFunctionPassAdaptor (
1098
+ SYCLOptimizeBarriersPass ()));
1098
1099
});
1099
1100
}
1100
1101
Original file line number Diff line number Diff line change 12
12
// CHECK: InferFunctionAttrsPass
13
13
// CHECK: AlwaysInlinerPass
14
14
// CHECK: ModuleInlinerWrapperPass
15
+ // CHECK: SYCLOptimizeBarriersPass
15
16
// CHECK: ConstantMergePass
16
17
// CHECK: SYCLMutatePrintfAddrspacePass
17
18
// CHECK: SYCLPropagateAspectsUsagePass
22
23
//
23
24
// RUN: %clang_cc1 -O2 -fsycl-is-device -triple spir64-unknown-unknown %s -mdebug-pass Structure -emit-llvm -fno-sycl-early-optimizations -o /dev/null 2>&1 | FileCheck %s --check-prefix=CHECK-NOEARLYOPT
24
25
// CHECK-NOEARLYOPT-NOT: ConstantMergePass1
26
+ // CHECK-NOEARLYOPT-NOT: SYCLOptimizeBarriersPass
25
27
// CHECK-NOEARLYOPT: SYCLMutatePrintfAddrspacePass
28
+
29
+ // RUN: %clang_cc1 -O0 -fsycl-is-device -triple spir64-unknown-unknown %s -mdebug-pass Structure -emit-llvm -o /dev/null 2>&1 | FileCheck %s --check-prefix=CHECK-O0
30
+ // CHECK-O0-NOT: SYCLOptimizeBarriersPass
31
+
32
+ // Passes registered via registerOptimizerLastEPCallback don't run on empty
33
+ // code
34
+ __attribute__ ((sycl_device)) void bar() {
35
+ }
You can’t perform that action at this time.
0 commit comments