Skip to content

Commit 219f03e

Browse files
mdtoguchiKornevNikita
authored andcommitted
[Driver][SYCL] warning emitted when compiling wrapped object (#16397)
After the switch to using clang to build the wrapped object the embedded target in the IR is caused a warning to be emitted. Fix this by adjusting the clang-offload-wrapper call to use the same host triple that is used when performing a regular compilation. Matching these up allows for no diagnostic to be emitted. Warning emitted: warning: overriding the module target triple with x86_64-pc-windows-msvc19.29.30154 [-Woverride-module]
1 parent 46639ce commit 219f03e

File tree

4 files changed

+18
-13
lines changed

4 files changed

+18
-13
lines changed

clang/lib/Driver/ToolChains/Clang.cpp

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10164,7 +10164,11 @@ void OffloadWrapper::ConstructJob(Compilation &C, const JobAction &JA,
1016410164
WrapperArgs.push_back(C.getArgs().MakeArgString(OutOpt));
1016510165

1016610166
SmallString<128> HostTripleOpt("-host=");
10167-
HostTripleOpt += getToolChain().getAuxTriple()->str();
10167+
const ToolChain *HostTC = C.getSingleOffloadToolChain<Action::OFK_Host>();
10168+
// Use the Effective Triple to match the expected triple when using the
10169+
// clang compiler to compile the wrapped binary.
10170+
std::string HostTripleStr = HostTC->ComputeEffectiveClangTriple(TCArgs);
10171+
HostTripleOpt += HostTripleStr;
1016810172
WrapperArgs.push_back(C.getArgs().MakeArgString(HostTripleOpt));
1016910173

1017010174
llvm::Triple TT = getToolChain().getTriple();
@@ -10293,9 +10297,9 @@ void OffloadWrapper::ConstructJob(Compilation &C, const JobAction &JA,
1029310297

1029410298
if (WrapperCompileEnabled) {
1029510299
// TODO Use TC.SelectTool().
10296-
ArgStringList ClangArgs{
10297-
TCArgs.MakeArgString("--target=" + TC.getAuxTriple()->str()), "-c",
10298-
"-o", Output.getFilename(), WrapperFileName};
10300+
ArgStringList ClangArgs{TCArgs.MakeArgString("--target=" + HostTripleStr),
10301+
"-c", "-o", Output.getFilename(),
10302+
WrapperFileName};
1029910303
llvm::Reloc::Model RelocationModel;
1030010304
unsigned PICLevel;
1030110305
bool IsPIE;

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -153,10 +153,10 @@
153153
// CHK-TOOLS-GEN: ocloc{{.*}} "-output" "[[OUTPUT4_T:.+\.out]]" {{.*}} "[[OUTPUT3_T]]"
154154
// CHK-TOOLS-CPU: opencl-aot{{.*}} "-o=[[OUTPUT4_T:.+\.out]]" {{.*}} "[[OUTPUT3_T]]"
155155
// CHK-TOOLS-AOT: file-table-tform{{.*}} "-o" "[[OUTPUT4:.+\.table]]" "{{.*}}.table"{{.*}} "[[OUTPUT4_T]]"
156-
// CHK-TOOLS-FPGA: clang-offload-wrapper{{.*}} "-o=[[OUTPUT5:.+\.bc]]" "-host=x86_64-unknown-linux-gnu" "-target=spir64_fpga{{.*}}" "-kind=sycl" "-batch" "[[OUTPUT4]]"
157-
// CHK-TOOLS-GEN: clang-offload-wrapper{{.*}} "-o=[[OUTPUT5:.+\.bc]]" "-host=x86_64-unknown-linux-gnu" "-target=spir64_gen{{.*}}" "-kind=sycl" "-batch" "[[OUTPUT4]]"
158-
// CHK-TOOLS-CPU: clang-offload-wrapper{{.*}} "-o=[[OUTPUT5:.+\.bc]]" "-host=x86_64-unknown-linux-gnu" "-target=spir64_x86_64{{.*}}" "-kind=sycl" "-batch" "[[OUTPUT4]]"
159-
// CHK-TOOLS-AOT: clang{{.*}} "-c" "-o" "[[OUTPUT6:.+\.o]]" "[[OUTPUT5]]"
156+
// CHK-TOOLS-FPGA: clang-offload-wrapper{{.*}} "-o=[[OUTPUT5:.+\.bc]]" "-host=[[HOST_TARGET:.+]]" "-target=spir64_fpga{{.*}}" "-kind=sycl" "-batch" "[[OUTPUT4]]"
157+
// CHK-TOOLS-GEN: clang-offload-wrapper{{.*}} "-o=[[OUTPUT5:.+\.bc]]" "-host=[[HOST_TARGET:.+]]" "-target=spir64_gen{{.*}}" "-kind=sycl" "-batch" "[[OUTPUT4]]"
158+
// CHK-TOOLS-CPU: clang-offload-wrapper{{.*}} "-o=[[OUTPUT5:.+\.bc]]" "-host=[[HOST_TARGET:.+]]" "-target=spir64_x86_64{{.*}}" "-kind=sycl" "-batch" "[[OUTPUT4]]"
159+
// CHK-TOOLS-AOT: clang{{.*}} "--target=[[HOST_TARGET]]" "-c" "-o" "[[OUTPUT6:.+\.o]]" "[[OUTPUT5]]"
160160
// CHK-TOOLS-AOT: ld{{.*}} "[[OUTPUT7]]" "[[OUTPUT6]]" {{.*}} "-lsycl"
161161

162162
// Check to be sure that for windows, the 'exe' tools are called

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@
3131
// CHK-ACTIONS-WIN: llvm-foreach" {{.*}} "--" "{{.*}}fatbinary"
3232
// CHK-ACTIONS-WIN: file-table-tform" "-replace=Code,Code"
3333
// CHK-ACTIONS-WIN-NOT: "-mllvm -sycl-opt"
34-
// CHK-ACTIONS-WIN: clang-offload-wrapper"{{.*}} "-host=x86_64-pc-windows-msvc" "-target=nvptx64" "-kind=sycl"{{.*}}
34+
// CHK-ACTIONS-WIN: clang-offload-wrapper"{{.*}} "-host=[[HOST_TARGET:x86_64-pc-windows-msvc.*]]" "-target=nvptx64" "-kind=sycl"{{.*}}
35+
// CHK-ACTIONS-WIN: clang{{.*}} "--target=[[HOST_TARGET]]" "-c"
3536

3637
/// Check phases w/out specifying a compute capability.
3738
// RUN: %clangxx -ccc-print-phases --sysroot=%S/Inputs/SYCL -std=c++11 \

clang/test/Driver/sycl-offload-with-split-old-model.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -208,10 +208,10 @@
208208
// CHK-TOOLS-GEN: llvm-foreach{{.*}} "--out-file-list=[[OUTPUT6:.+\.txt]]{{.*}} "--" "{{.*}}ocloc{{.*}} "-output" "[[OUTPUT6]]" "-file" "[[OUTPUT5]]"
209209
// CHK-TOOLS-CPU: llvm-foreach{{.*}} "--out-file-list=[[OUTPUT6:.+\.txt]]{{.*}} "--" "{{.*}}opencl-aot{{.*}} "-o=[[OUTPUT6]]" "--device=cpu" "[[OUTPUT5]]"
210210
// CHK-TOOLS-AOT: file-table-tform{{.*}} "-o" "[[OUTPUT7:.+\.table]]" "[[OUTPUT3]]" "[[OUTPUT6]]"
211-
// CHK-TOOLS-FPGA: clang-offload-wrapper{{.*}} "-o=[[OUTPUT8:.+\.bc]]" "-host=x86_64-unknown-linux-gnu" "-target=spir64_fpga" "-kind=sycl" "-batch" "[[OUTPUT7]]"
212-
// CHK-TOOLS-GEN: clang-offload-wrapper{{.*}} "-o=[[OUTPUT8:.+\.bc]]" "-host=x86_64-unknown-linux-gnu" "-target=spir64_gen" "-kind=sycl" "-batch" "[[OUTPUT7]]"
213-
// CHK-TOOLS-CPU: clang-offload-wrapper{{.*}} "-o=[[OUTPUT8:.+\.bc]]" "-host=x86_64-unknown-linux-gnu" "-target=spir64_x86_64" "-kind=sycl" "-batch" "[[OUTPUT7]]"
214-
// CHK-TOOLS-AOT: clang{{.*}} "-c" "-o" "[[OUTPUT9:.+\.o]]" "[[OUTPUT8]]"
211+
// CHK-TOOLS-FPGA: clang-offload-wrapper{{.*}} "-o=[[OUTPUT8:.+\.bc]]" "-host=[[HOST_TARGET:.+]]" "-target=spir64_fpga" "-kind=sycl" "-batch" "[[OUTPUT7]]"
212+
// CHK-TOOLS-GEN: clang-offload-wrapper{{.*}} "-o=[[OUTPUT8:.+\.bc]]" "-host=[[HOST_TARGET:.+]]" "-target=spir64_gen" "-kind=sycl" "-batch" "[[OUTPUT7]]"
213+
// CHK-TOOLS-CPU: clang-offload-wrapper{{.*}} "-o=[[OUTPUT8:.+\.bc]]" "-host=[[HOST_TARGET:.+]]" "-target=spir64_x86_64" "-kind=sycl" "-batch" "[[OUTPUT7]]"
214+
// CHK-TOOLS-AOT: clang{{.*}} "--target=[[HOST_TARGET]]" "-c" "-o" "[[OUTPUT9:.+\.o]]" "[[OUTPUT8]]"
215215
// CHK-TOOLS-AOT: ld{{.*}} "[[OUTPUT10]]" "[[OUTPUT9]]" {{.*}} "-lsycl"
216216

217217
/// ###########################################################################

0 commit comments

Comments
 (0)