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(
10931093 ThinOrFullLTOPhase) {
10941094 MPM.addPass (createModuleToFunctionPassAdaptor (
10951095 InferAddressSpacesPass (clang::targets::SPIR_GENERIC_AS)));
1096- MPM.addPass (
1097- createModuleToFunctionPassAdaptor (SYCLOptimizeBarriersPass ()));
1096+ if (Level != OptimizationLevel::O0)
1097+ MPM.addPass (createModuleToFunctionPassAdaptor (
1098+ SYCLOptimizeBarriersPass ()));
10981099 });
10991100 }
11001101
Original file line number Diff line number Diff line change 1212// CHECK: InferFunctionAttrsPass
1313// CHECK: AlwaysInlinerPass
1414// CHECK: ModuleInlinerWrapperPass
15+ // CHECK: SYCLOptimizeBarriersPass
1516// CHECK: ConstantMergePass
1617// CHECK: SYCLMutatePrintfAddrspacePass
1718// CHECK: SYCLPropagateAspectsUsagePass
2223//
2324// 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
2425// CHECK-NOEARLYOPT-NOT: ConstantMergePass1
26+ // CHECK-NOEARLYOPT-NOT: SYCLOptimizeBarriersPass
2527// 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