Skip to content

[SYCL][NFC]Clang Format for SYCL.cpp #2891

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Dec 16, 2020
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
112 changes: 54 additions & 58 deletions clang/lib/Driver/ToolChains/SYCL.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ using namespace clang::driver::tools;
using namespace clang;
using namespace llvm::opt;

const char *SYCL::Linker::constructLLVMSpirvCommand(Compilation &C,
const JobAction &JA, const InputInfo &Output, StringRef OutputFilePrefix,
bool ToBc, const char *InputFileName) const {
const char *SYCL::Linker::constructLLVMSpirvCommand(
Compilation &C, const JobAction &JA, const InputInfo &Output,
StringRef OutputFilePrefix, bool ToBc, const char *InputFileName) const {
// Construct llvm-spirv command.
// The output is a bc file or vice versa depending on the -r option usage
// llvm-spirv -r -o a_kernel.bc a_kernel.spv
Expand All @@ -33,7 +33,7 @@ const char *SYCL::Linker::constructLLVMSpirvCommand(Compilation &C,
const char *OutputFileName = nullptr;
if (ToBc) {
std::string TmpName =
C.getDriver().GetTemporaryPath(OutputFilePrefix.str() + "-spirv", "bc");
C.getDriver().GetTemporaryPath(OutputFilePrefix.str() + "-spirv", "bc");
OutputFileName = C.addTempFile(C.getArgs().MakeArgString(TmpName));
CmdArgs.push_back("-r");
CmdArgs.push_back("-o");
Expand Down Expand Up @@ -91,13 +91,13 @@ void SYCL::constructLLVMForeachCommand(Compilation &C, const JobAction &JA,
SmallString<128> ForeachPath(C.getDriver().Dir);
llvm::sys::path::append(ForeachPath, "llvm-foreach");
const char *Foreach = C.getArgs().MakeArgString(ForeachPath);
C.addCommand(std::make_unique<Command>(
JA, *T, ResponseFileSupport::None(), Foreach, ForeachArgs, None));
C.addCommand(std::make_unique<Command>(JA, *T, ResponseFileSupport::None(),
Foreach, ForeachArgs, None));
}

const char *SYCL::Linker::constructLLVMLinkCommand(Compilation &C,
const JobAction &JA, const InputInfo &Output, const ArgList &Args,
StringRef SubArchName, StringRef OutputFilePrefix,
const char *SYCL::Linker::constructLLVMLinkCommand(
Compilation &C, const JobAction &JA, const InputInfo &Output,
const ArgList &Args, StringRef SubArchName, StringRef OutputFilePrefix,
const InputInfoList &InputFiles) const {
ArgStringList CmdArgs;
// Add the input bc's created by compile step.
Expand Down Expand Up @@ -148,10 +148,11 @@ const char *SYCL::Linker::constructLLVMLinkCommand(Compilation &C,
}

void SYCL::Linker::constructLlcCommand(Compilation &C, const JobAction &JA,
const InputInfo &Output, const char *InputFileName) const {
const InputInfo &Output,
const char *InputFileName) const {
// Construct llc command.
// The output is an object file.
ArgStringList LlcArgs{"-filetype=obj", "-o", Output.getFilename(),
ArgStringList LlcArgs{"-filetype=obj", "-o", Output.getFilename(),
InputFileName};
SmallString<128> LlcPath(C.getDriver().Dir);
llvm::sys::path::append(LlcPath, "llc");
Expand All @@ -164,12 +165,13 @@ void SYCL::Linker::constructLlcCommand(Compilation &C, const JobAction &JA,
// a single SPIR-V binary. Input can also be bitcode when specified by
// the user.
void SYCL::Linker::ConstructJob(Compilation &C, const JobAction &JA,
const InputInfo &Output,
const InputInfoList &Inputs,
const ArgList &Args,
const char *LinkingOutput) const {
const InputInfo &Output,
const InputInfoList &Inputs,
const ArgList &Args,
const char *LinkingOutput) const {

assert((getToolChain().getTriple().isSPIR() || getToolChain().getTriple().isNVPTX()) &&
assert((getToolChain().getTriple().isSPIR() ||
getToolChain().getTriple().isNVPTX()) &&
"Unsupported target");

std::string SubArchName =
Expand Down Expand Up @@ -205,9 +207,8 @@ void SYCL::Linker::ConstructJob(Compilation &C, const JobAction &JA,
Args.hasArg(options::OPT_foffload_static_lib_EQ))
SpirvInputs.push_back(II);
else {
const char *LLVMSpirvOutputFile =
constructLLVMSpirvCommand(C, JA, Output, Prefix, true,
II.getFilename());
const char *LLVMSpirvOutputFile = constructLLVMSpirvCommand(
C, JA, Output, Prefix, true, II.getFilename());
SpirvInputs.push_back(InputInfo(types::TY_LLVM_BC, LLVMSpirvOutputFile,
LLVMSpirvOutputFile));
}
Expand All @@ -225,27 +226,24 @@ static const char *makeExeName(Compilation &C, StringRef Name) {
return C.getArgs().MakeArgString(ExeName);
}

void SYCL::fpga::BackendCompiler::ConstructJob(Compilation &C,
const JobAction &JA,
const InputInfo &Output,
const InputInfoList &Inputs,
const ArgList &Args,
const char *LinkingOutput) const {
void SYCL::fpga::BackendCompiler::ConstructJob(
Compilation &C, const JobAction &JA, const InputInfo &Output,
const InputInfoList &Inputs, const ArgList &Args,
const char *LinkingOutput) const {
assert((getToolChain().getTriple().getArch() == llvm::Triple::spir ||
getToolChain().getTriple().getArch() == llvm::Triple::spir64) &&
"Unsupported target");

InputInfoList ForeachInputs;
InputInfoList FPGADepFiles;
ArgStringList CmdArgs{"-o", Output.getFilename()};
ArgStringList CmdArgs{"-o", Output.getFilename()};
for (const auto &II : Inputs) {
std::string Filename(II.getFilename());
if (II.getType() == types::TY_Tempfilelist)
ForeachInputs.push_back(II);
if (II.getType() == types::TY_TempAOCOfilelist)
// Add any FPGA library lists. These come in as special tempfile lists.
CmdArgs.push_back(Args.MakeArgString(Twine("-library-list=") +
Filename));
CmdArgs.push_back(Args.MakeArgString(Twine("-library-list=") + Filename));
else if (II.getType() == types::TY_FPGA_Dependencies ||
II.getType() == types::TY_FPGA_Dependencies_List)
FPGADepFiles.push_back(II);
Expand Down Expand Up @@ -311,10 +309,10 @@ void SYCL::fpga::BackendCompiler::ConstructJob(Compilation &C,
// Depending on output file designations, set the report folder
SmallString<128> ReportOptArg;
if (Arg *FinalOutput = Args.getLastArg(options::OPT_o, options::OPT__SLASH_o,
options::OPT__SLASH_Fe)) {
options::OPT__SLASH_Fe)) {
SmallString<128> FN(FinalOutput->getValue());
llvm::sys::path::replace_extension(FN, "prj");
const char * FolderName = Args.MakeArgString(FN);
const char *FolderName = Args.MakeArgString(FN);
ReportOptArg += FolderName;
} else {
// Output directory is based off of the first object name as captured
Expand All @@ -339,8 +337,8 @@ void SYCL::fpga::BackendCompiler::ConstructJob(Compilation &C,
SmallString<128> ExecPath(
getToolChain().GetProgramPath(makeExeName(C, "aoc")));
const char *Exec = C.getArgs().MakeArgString(ExecPath);
auto Cmd = std::make_unique<Command>(
JA, *this, ResponseFileSupport::None(), Exec, CmdArgs, None);
auto Cmd = std::make_unique<Command>(JA, *this, ResponseFileSupport::None(),
Exec, CmdArgs, None);
if (!ForeachInputs.empty())
constructLLVMForeachCommand(C, JA, std::move(Cmd), ForeachInputs, Output,
this, ForeachExt);
Expand All @@ -349,15 +347,15 @@ void SYCL::fpga::BackendCompiler::ConstructJob(Compilation &C,
}

void SYCL::gen::BackendCompiler::ConstructJob(Compilation &C,
const JobAction &JA,
const InputInfo &Output,
const InputInfoList &Inputs,
const ArgList &Args,
const char *LinkingOutput) const {
const JobAction &JA,
const InputInfo &Output,
const InputInfoList &Inputs,
const ArgList &Args,
const char *LinkingOutput) const {
assert((getToolChain().getTriple().getArch() == llvm::Triple::spir ||
getToolChain().getTriple().getArch() == llvm::Triple::spir64) &&
"Unsupported target");
ArgStringList CmdArgs{"-output", Output.getFilename()};
ArgStringList CmdArgs{"-output", Output.getFilename()};
InputInfoList ForeachInputs;
for (const auto &II : Inputs) {
CmdArgs.push_back("-file");
Expand All @@ -377,21 +375,19 @@ void SYCL::gen::BackendCompiler::ConstructJob(Compilation &C,
SmallString<128> ExecPath(
getToolChain().GetProgramPath(makeExeName(C, "ocloc")));
const char *Exec = C.getArgs().MakeArgString(ExecPath);
auto Cmd = std::make_unique<Command>(
JA, *this, ResponseFileSupport::None(), Exec, CmdArgs, None);
auto Cmd = std::make_unique<Command>(JA, *this, ResponseFileSupport::None(),
Exec, CmdArgs, None);
if (!ForeachInputs.empty())
constructLLVMForeachCommand(C, JA, std::move(Cmd), ForeachInputs, Output,
this);
else
C.addCommand(std::move(Cmd));
}

void SYCL::x86_64::BackendCompiler::ConstructJob(Compilation &C,
const JobAction &JA,
const InputInfo &Output,
const InputInfoList &Inputs,
const ArgList &Args,
const char *LinkingOutput) const {
void SYCL::x86_64::BackendCompiler::ConstructJob(
Compilation &C, const JobAction &JA, const InputInfo &Output,
const InputInfoList &Inputs, const ArgList &Args,
const char *LinkingOutput) const {
ArgStringList CmdArgs;
CmdArgs.push_back(Args.MakeArgString(Twine("-o=") + Output.getFilename()));
CmdArgs.push_back("--device=cpu");
Expand All @@ -411,8 +407,8 @@ void SYCL::x86_64::BackendCompiler::ConstructJob(Compilation &C,
SmallString<128> ExecPath(
getToolChain().GetProgramPath(makeExeName(C, "opencl-aot")));
const char *Exec = C.getArgs().MakeArgString(ExecPath);
auto Cmd = std::make_unique<Command>(
JA, *this, ResponseFileSupport::None(), Exec, CmdArgs, None);
auto Cmd = std::make_unique<Command>(JA, *this, ResponseFileSupport::None(),
Exec, CmdArgs, None);
if (!ForeachInputs.empty())
constructLLVMForeachCommand(C, JA, std::move(Cmd), ForeachInputs, Output,
this);
Expand All @@ -429,8 +425,7 @@ SYCLToolChain::SYCLToolChain(const Driver &D, const llvm::Triple &Triple,
}

void SYCLToolChain::addClangTargetOptions(
const llvm::opt::ArgList &DriverArgs,
llvm::opt::ArgStringList &CC1Args,
const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args,
Action::OffloadKind DeviceOffloadingKind) const {
HostTC.addClangTargetOptions(DriverArgs, CC1Args, DeviceOffloadingKind);
}
Expand Down Expand Up @@ -471,8 +466,9 @@ static void parseTargetOpts(StringRef ArgString, const llvm::opt::ArgList &Args,
// Expects a specific type of option (e.g. -Xsycl-target-backend) and will
// extract the arguments.
void SYCLToolChain::TranslateTargetOpt(const llvm::opt::ArgList &Args,
llvm::opt::ArgStringList &CmdArgs, OptSpecifier Opt,
OptSpecifier Opt_EQ) const {
llvm::opt::ArgStringList &CmdArgs,
OptSpecifier Opt,
OptSpecifier Opt_EQ) const {
for (auto *A : Args) {
bool OptNoTriple;
OptNoTriple = A->getOption().matches(Opt);
Expand Down Expand Up @@ -543,8 +539,8 @@ static void addImpliedArgs(const llvm::Triple &Triple,
CmdArgs.push_back(Args.MakeArgString(BeOpt));
}

void SYCLToolChain::TranslateBackendTargetArgs(const llvm::opt::ArgList &Args,
llvm::opt::ArgStringList &CmdArgs) const {
void SYCLToolChain::TranslateBackendTargetArgs(
const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const {
// Add any implied arguments before user defined arguments.
addImpliedArgs(getTriple(), Args, CmdArgs);

Expand Down Expand Up @@ -572,14 +568,14 @@ void SYCLToolChain::TranslateBackendTargetArgs(const llvm::opt::ArgList &Args,
}
// Handle -Xsycl-target-backend.
TranslateTargetOpt(Args, CmdArgs, options::OPT_Xsycl_backend,
options::OPT_Xsycl_backend_EQ);
options::OPT_Xsycl_backend_EQ);
}

void SYCLToolChain::TranslateLinkerTargetArgs(const llvm::opt::ArgList &Args,
llvm::opt::ArgStringList &CmdArgs) const {
void SYCLToolChain::TranslateLinkerTargetArgs(
const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const {
// Handle -Xsycl-target-linker.
TranslateTargetOpt(Args, CmdArgs, options::OPT_Xsycl_linker,
options::OPT_Xsycl_linker_EQ);
options::OPT_Xsycl_linker_EQ);
}

Tool *SYCLToolChain::buildBackendCompiler() const {
Expand Down