Skip to content

Commit 9e155c9

Browse files
authored
[SYCL][LinkerWrapper][NFC] Align code structure to community (#12499)
This patch moves 'clang/tools/clang-linker-wrapper/SYCLOffloadWrapper.*' functionality to 'llvm/Frontend/Offloading' to be aligned with the community code structure.
1 parent 8e987fe commit 9e155c9

File tree

5 files changed

+24
-12
lines changed

5 files changed

+24
-12
lines changed

clang/tools/clang-linker-wrapper/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ endif()
2828

2929
add_clang_tool(clang-linker-wrapper
3030
ClangLinkerWrapper.cpp
31-
SYCLOffloadWrapper.cpp
3231

3332
DEPENDS
3433
${tablegen_deps}

clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@
1414
//
1515
//===---------------------------------------------------------------------===//
1616

17-
#include "SYCLOffloadWrapper.h"
1817
#include "clang/Basic/Version.h"
1918
#include "llvm/BinaryFormat/Magic.h"
2019
#include "llvm/Bitcode/BitcodeWriter.h"
2120
#include "llvm/CodeGen/CommandFlags.h"
2221
#include "llvm/Frontend/Offloading/OffloadWrapper.h"
22+
#include "llvm/Frontend/Offloading/SYCLOffloadWrapper.h"
2323
#include "llvm/Frontend/Offloading/Utility.h"
2424
#include "llvm/IR/Constants.h"
2525
#include "llvm/IR/DiagnosticPrinter.h"
@@ -741,8 +741,8 @@ readPropertyRegistryFromFile(StringRef File) {
741741
// a_n.bin|a_n.prop|a_n.sym
742742
//
743743
// .bin extension might be a bc, spv or other native extension.
744-
Expected<SmallVector<SYCLImage>> readSYCLImagesFromTable(StringRef TableFile,
745-
const ArgList &Args) {
744+
Expected<SmallVector<offloading::SYCLImage>>
745+
readSYCLImagesFromTable(StringRef TableFile, const ArgList &Args) {
746746
auto TableOrErr = util::SimpleTable::read(TableFile);
747747
if (!TableOrErr)
748748
return TableOrErr.takeError();
@@ -756,7 +756,7 @@ Expected<SmallVector<SYCLImage>> readSYCLImagesFromTable(StringRef TableFile,
756756
inconvertibleErrorCode(),
757757
"expected columns in the table: Code, Properties and Symbols");
758758

759-
SmallVector<SYCLImage> Images;
759+
SmallVector<offloading::SYCLImage> Images;
760760
for (const util::SimpleTable::Row &row : Table->rows()) {
761761
auto ImageOrErr = readBinaryFile(row.getCell("Code"));
762762
if (!ImageOrErr)
@@ -771,7 +771,7 @@ Expected<SmallVector<SYCLImage>> readSYCLImagesFromTable(StringRef TableFile,
771771
if (!SymbolsOrErr)
772772
return SymbolsOrErr.takeError();
773773

774-
SYCLImage Image;
774+
offloading::SYCLImage Image;
775775
Image.Image = std::move(*ImageOrErr);
776776
Image.PropertyRegistry = std::move(**PropertiesOrErr);
777777
Image.Entries = std::move(*SymbolsOrErr);
@@ -811,7 +811,7 @@ Expected<StringRef> wrapSYCLBinariesFromFile(StringRef InputFile,
811811
inconvertibleErrorCode(),
812812
"can't wrap SYCL image. -triple argument is missed.");
813813

814-
for (SYCLImage &Image : Images)
814+
for (offloading::SYCLImage &Image : Images)
815815
Image.Target = Target;
816816

817817
LLVMContext C;
@@ -822,10 +822,10 @@ Expected<StringRef> wrapSYCLBinariesFromFile(StringRef InputFile,
822822
StringRef CompileOptions =
823823
Args.getLastArgValue(OPT_sycl_backend_compile_options_EQ);
824824
StringRef LinkOptions = Args.getLastArgValue(OPT_sycl_target_link_options_EQ);
825-
SYCLWrappingOptions WrappingOptions;
825+
offloading::SYCLWrappingOptions WrappingOptions;
826826
WrappingOptions.CompileOptions = CompileOptions;
827827
WrappingOptions.LinkOptions = LinkOptions;
828-
if (Error E = wrapSYCLBinaries(M, Images, WrappingOptions))
828+
if (Error E = offloading::wrapSYCLBinaries(M, Images, WrappingOptions))
829829
return E;
830830

831831
if (Args.hasArg(OPT_print_wrapped_module))

clang/tools/clang-linker-wrapper/SYCLOffloadWrapper.h renamed to llvm/include/llvm/Frontend/Offloading/SYCLOffloadWrapper.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@
1818
#include <utility>
1919
#include <vector>
2020

21+
namespace llvm {
22+
namespace offloading {
23+
2124
// SYCL binary image formats supported.
2225
enum class SYCLBinaryImageFormat {
2326
BIF_None, // Undetermined Image kind
@@ -50,8 +53,14 @@ struct SYCLWrappingOptions {
5053
std::string LinkOptions;
5154
};
5255

56+
/// Wraps the input bundled images and accompanied data into the module \p M
57+
/// as global symbols and registers the images with the SYCL Runtime.
58+
/// \param Options Settings that allows to turn on optional data and settings.
5359
llvm::Error
5460
wrapSYCLBinaries(llvm::Module &M, llvm::SmallVector<SYCLImage> &Images,
5561
SYCLWrappingOptions Options = SYCLWrappingOptions());
5662

63+
} // namespace offloading
64+
} // namespace llvm
65+
5766
#endif

llvm/lib/Frontend/Offloading/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
add_llvm_component_library(LLVMFrontendOffloading
22
Utility.cpp
33
OffloadWrapper.cpp
4+
SYCLOffloadWrapper.cpp
5+
46

57
ADDITIONAL_HEADER_DIRS
68
${LLVM_MAIN_INCLUDE_DIR}/llvm/Frontend

clang/tools/clang-linker-wrapper/SYCLOffloadWrapper.cpp renamed to llvm/lib/Frontend/Offloading/SYCLOffloadWrapper.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
// sycl/include/sycl/detail/pi.h
1515
//===----------------------------------------------------------------------===//
1616

17-
#include "SYCLOffloadWrapper.h"
17+
#include "llvm/Frontend/Offloading/SYCLOffloadWrapper.h"
1818
#include "llvm/ADT/ArrayRef.h"
1919
#include "llvm/ADT/SmallVector.h"
2020
#include "llvm/ADT/StringRef.h"
@@ -40,6 +40,7 @@
4040
#include <utility>
4141

4242
using namespace llvm;
43+
using namespace llvm::offloading;
4344
using namespace llvm::util;
4445

4546
namespace {
@@ -727,8 +728,9 @@ struct Wrapper {
727728

728729
} // anonymous namespace
729730

730-
Error wrapSYCLBinaries(llvm::Module &M, SmallVector<SYCLImage> &Images,
731-
SYCLWrappingOptions Options) {
731+
Error llvm::offloading::wrapSYCLBinaries(llvm::Module &M,
732+
SmallVector<SYCLImage> &Images,
733+
SYCLWrappingOptions Options) {
732734
Wrapper W(M, Options);
733735
GlobalVariable *Desc = W.createFatbinDesc(Images);
734736
if (!Desc)

0 commit comments

Comments
 (0)