Skip to content

Commit 9e74edc

Browse files
authored
[SYCL] Fix a way '-bo' options are passed to CPU AOT compiler (#20202)
Signed-off-by: Sidorov, Dmitry <[email protected]>
1 parent 86451eb commit 9e74edc

File tree

2 files changed

+17
-11
lines changed

2 files changed

+17
-11
lines changed

clang/lib/Driver/ToolChains/SYCL.cpp

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1815,7 +1815,7 @@ void SYCLToolChain::AddImpliedTargetArgs(const llvm::Triple &Triple,
18151815
// Default device AOT: -g -cl-opt-disable
18161816
// Default device JIT: -g (-O0 is handled by the runtime)
18171817
// GEN: -options "-g -O0"
1818-
// CPU: "--bo=-g -cl-opt-disable"
1818+
// CPU: "--bo=-g" "-bo=-cl-opt-disable"
18191819
llvm::opt::ArgStringList BeArgs;
18201820
// Per-device argument vector storing the device name and the backend argument
18211821
// string
@@ -1969,17 +1969,23 @@ void SYCLToolChain::AddImpliedTargetArgs(const llvm::Triple &Triple,
19691969
CmdArgs.push_back(Args.MakeArgString(A));
19701970
return;
19711971
}
1972-
SmallString<128> BeOpt;
1973-
if (IsGen)
1972+
if (IsGen) {
1973+
SmallString<128> BeOpt;
19741974
CmdArgs.push_back("-options");
1975-
else
1976-
BeOpt = "--bo=";
1977-
for (unsigned I = 0; I < BeArgs.size(); ++I) {
1978-
if (I)
1979-
BeOpt += ' ';
1980-
BeOpt += BeArgs[I];
1975+
for (unsigned I = 0; I < BeArgs.size(); ++I) {
1976+
if (I)
1977+
BeOpt += ' ';
1978+
BeOpt += BeArgs[I];
1979+
}
1980+
CmdArgs.push_back(Args.MakeArgString(BeOpt));
1981+
} else {
1982+
for (unsigned I = 0; I < BeArgs.size(); ++I) {
1983+
SmallString<128> BeOpt;
1984+
BeOpt += "--bo=";
1985+
BeOpt += BeArgs[I];
1986+
CmdArgs.push_back(Args.MakeArgString(BeOpt));
1987+
}
19811988
}
1982-
CmdArgs.push_back(Args.MakeArgString(BeOpt));
19831989
}
19841990

19851991
void SYCLToolChain::TranslateBackendTargetArgs(

clang/test/Driver/sycl-offload-aot.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@
145145
// RUN: | FileCheck -check-prefix=CHK-TOOLS-IMPLIED-OPTS-CPU %s
146146
// RUN: %clang_cl -### -fsycl -fsycl-targets=spir64_x86_64-unknown-unknown -Zi -Od -Xsycl-target-backend "-DFOO1 -DFOO2" -- %s 2>&1 \
147147
// RUN: | FileCheck -check-prefix=CHK-TOOLS-IMPLIED-OPTS-CPU %s
148-
// CHK-TOOLS-IMPLIED-OPTS-CPU: opencl-aot{{.*}} "--bo=-g -cl-opt-disable" "-DFOO1" "-DFOO2"
148+
// CHK-TOOLS-IMPLIED-OPTS-CPU: opencl-aot{{.*}} "--bo=-g" "--bo=-cl-opt-disable" "-DFOO1" "-DFOO2"
149149

150150
// RUN: %clang -### -target x86_64-unknown-linux-gnu -fsycl -fsycl-targets=spir64_gen-unknown-unknown -g -O0 -Xsycl-target-backend "-DFOO1 -DFOO2" %s 2>&1 \
151151
// RUN: | FileCheck -check-prefix=CHK-TOOLS-IMPLIED-OPTS-GEN %s

0 commit comments

Comments
 (0)