|
@@ -626,7 +626,7 @@ void Driver::CreateOffloadingDeviceToolChains(Compilation &C,
|
|
// because the device toolchain we create depends on both.
|
|
// because the device toolchain we create depends on both.
|
|
auto &CudaTC = ToolChains[CudaTriple.str() + "/" + HostTriple.str()];
|
|
auto &CudaTC = ToolChains[CudaTriple.str() + "/" + HostTriple.str()];
|
|
if (!CudaTC) {
|
|
if (!CudaTC) {
|
|
- CudaTC = llvm::make_unique<toolchains::CudaToolChain>(
|
|
|
|
|
|
+ CudaTC = std::make_unique<toolchains::CudaToolChain>(
|
|
*this, CudaTriple, *HostTC, C.getInputArgs(), OFK);
|
|
*this, CudaTriple, *HostTC, C.getInputArgs(), OFK);
|
|
}
|
|
}
|
|
C.addOffloadDeviceToolChain(CudaTC.get(), OFK);
|
|
C.addOffloadDeviceToolChain(CudaTC.get(), OFK);
|
|
@@ -641,7 +641,7 @@ void Driver::CreateOffloadingDeviceToolChains(Compilation &C,
|
|
// because the device toolchain we create depends on both.
|
|
// because the device toolchain we create depends on both.
|
|
auto &HIPTC = ToolChains[HIPTriple.str() + "/" + HostTriple.str()];
|
|
auto &HIPTC = ToolChains[HIPTriple.str() + "/" + HostTriple.str()];
|
|
if (!HIPTC) {
|
|
if (!HIPTC) {
|
|
- HIPTC = llvm::make_unique<toolchains::HIPToolChain>(
|
|
|
|
|
|
+ HIPTC = std::make_unique<toolchains::HIPToolChain>(
|
|
*this, HIPTriple, *HostTC, C.getInputArgs());
|
|
*this, HIPTriple, *HostTC, C.getInputArgs());
|
|
}
|
|
}
|
|
C.addOffloadDeviceToolChain(HIPTC.get(), OFK);
|
|
C.addOffloadDeviceToolChain(HIPTC.get(), OFK);
|
|
@@ -699,7 +699,7 @@ void Driver::CreateOffloadingDeviceToolChains(Compilation &C,
|
|
auto &CudaTC =
|
|
auto &CudaTC =
|
|
ToolChains[TT.str() + "/" + HostTC->getTriple().normalize()];
|
|
ToolChains[TT.str() + "/" + HostTC->getTriple().normalize()];
|
|
if (!CudaTC)
|
|
if (!CudaTC)
|
|
- CudaTC = llvm::make_unique<toolchains::CudaToolChain>(
|
|
|
|
|
|
+ CudaTC = std::make_unique<toolchains::CudaToolChain>(
|
|
*this, TT, *HostTC, C.getInputArgs(), Action::OFK_OpenMP);
|
|
*this, TT, *HostTC, C.getInputArgs(), Action::OFK_OpenMP);
|
|
TC = CudaTC.get();
|
|
TC = CudaTC.get();
|
|
} else
|
|
} else
|
|
@@ -760,7 +760,7 @@ bool Driver::readConfigFile(StringRef FileName) {
|
|
llvm::sys::path::native(CfgFileName);
|
|
llvm::sys::path::native(CfgFileName);
|
|
ConfigFile = CfgFileName.str();
|
|
ConfigFile = CfgFileName.str();
|
|
bool ContainErrors;
|
|
bool ContainErrors;
|
|
- CfgOptions = llvm::make_unique<InputArgList>(
|
|
|
|
|
|
+ CfgOptions = std::make_unique<InputArgList>(
|
|
ParseArgStrings(NewCfgArgs, IsCLMode(), ContainErrors));
|
|
ParseArgStrings(NewCfgArgs, IsCLMode(), ContainErrors));
|
|
if (ContainErrors) {
|
|
if (ContainErrors) {
|
|
CfgOptions.reset();
|
|
CfgOptions.reset();
|
|
@@ -954,7 +954,7 @@ Compilation *Driver::BuildCompilation(ArrayRef<const char *> ArgList) {
|
|
|
|
|
|
// Arguments specified in command line.
|
|
// Arguments specified in command line.
|
|
bool ContainsError;
|
|
bool ContainsError;
|
|
- CLOptions = llvm::make_unique<InputArgList>(
|
|
|
|
|
|
+ CLOptions = std::make_unique<InputArgList>(
|
|
ParseArgStrings(ArgList.slice(1), IsCLMode(), ContainsError));
|
|
ParseArgStrings(ArgList.slice(1), IsCLMode(), ContainsError));
|
|
|
|
|
|
// Try parsing configuration file.
|
|
// Try parsing configuration file.
|
|
@@ -1000,7 +1000,7 @@ Compilation *Driver::BuildCompilation(ArrayRef<const char *> ArgList) {
|
|
if (!CLModePassThroughArgList.empty()) {
|
|
if (!CLModePassThroughArgList.empty()) {
|
|
// Parse any pass through args using default clang processing rather
|
|
// Parse any pass through args using default clang processing rather
|
|
// than clang-cl processing.
|
|
// than clang-cl processing.
|
|
- auto CLModePassThroughOptions = llvm::make_unique<InputArgList>(
|
|
|
|
|
|
+ auto CLModePassThroughOptions = std::make_unique<InputArgList>(
|
|
ParseArgStrings(CLModePassThroughArgList, false, ContainsError));
|
|
ParseArgStrings(CLModePassThroughArgList, false, ContainsError));
|
|
|
|
|
|
if (!ContainsError)
|
|
if (!ContainsError)
|
|
@@ -1093,7 +1093,7 @@ Compilation *Driver::BuildCompilation(ArrayRef<const char *> ArgList) {
|
|
}
|
|
}
|
|
|
|
|
|
std::unique_ptr<llvm::opt::InputArgList> UArgs =
|
|
std::unique_ptr<llvm::opt::InputArgList> UArgs =
|
|
- llvm::make_unique<InputArgList>(std::move(Args));
|
|
|
|
|
|
+ std::make_unique<InputArgList>(std::move(Args));
|
|
|
|
|
|
// Perform the default argument translations.
|
|
// Perform the default argument translations.
|
|
DerivedArgList *TranslatedArgs = TranslateInputArgs(*UArgs);
|
|
DerivedArgList *TranslatedArgs = TranslateInputArgs(*UArgs);
|
|
@@ -4605,152 +4605,152 @@ const ToolChain &Driver::getToolChain(const ArgList &Args,
|
|
if (!TC) {
|
|
if (!TC) {
|
|
switch (Target.getOS()) {
|
|
switch (Target.getOS()) {
|
|
case llvm::Triple::Haiku:
|
|
case llvm::Triple::Haiku:
|
|
- TC = llvm::make_unique<toolchains::Haiku>(*this, Target, Args);
|
|
|
|
|
|
+ TC = std::make_unique<toolchains::Haiku>(*this, Target, Args);
|
|
break;
|
|
break;
|
|
case llvm::Triple::Ananas:
|
|
case llvm::Triple::Ananas:
|
|
- TC = llvm::make_unique<toolchains::Ananas>(*this, Target, Args);
|
|
|
|
|
|
+ TC = std::make_unique<toolchains::Ananas>(*this, Target, Args);
|
|
break;
|
|
break;
|
|
case llvm::Triple::CloudABI:
|
|
case llvm::Triple::CloudABI:
|
|
- TC = llvm::make_unique<toolchains::CloudABI>(*this, Target, Args);
|
|
|
|
|
|
+ TC = std::make_unique<toolchains::CloudABI>(*this, Target, Args);
|
|
break;
|
|
break;
|
|
case llvm::Triple::Darwin:
|
|
case llvm::Triple::Darwin:
|
|
case llvm::Triple::MacOSX:
|
|
case llvm::Triple::MacOSX:
|
|
case llvm::Triple::IOS:
|
|
case llvm::Triple::IOS:
|
|
case llvm::Triple::TvOS:
|
|
case llvm::Triple::TvOS:
|
|
case llvm::Triple::WatchOS:
|
|
case llvm::Triple::WatchOS:
|
|
- TC = llvm::make_unique<toolchains::DarwinClang>(*this, Target, Args);
|
|
|
|
|
|
+ TC = std::make_unique<toolchains::DarwinClang>(*this, Target, Args);
|
|
break;
|
|
break;
|
|
case llvm::Triple::DragonFly:
|
|
case llvm::Triple::DragonFly:
|
|
- TC = llvm::make_unique<toolchains::DragonFly>(*this, Target, Args);
|
|
|
|
|
|
+ TC = std::make_unique<toolchains::DragonFly>(*this, Target, Args);
|
|
break;
|
|
break;
|
|
case llvm::Triple::OpenBSD:
|
|
case llvm::Triple::OpenBSD:
|
|
- TC = llvm::make_unique<toolchains::OpenBSD>(*this, Target, Args);
|
|
|
|
|
|
+ TC = std::make_unique<toolchains::OpenBSD>(*this, Target, Args);
|
|
break;
|
|
break;
|
|
case llvm::Triple::NetBSD:
|
|
case llvm::Triple::NetBSD:
|
|
- TC = llvm::make_unique<toolchains::NetBSD>(*this, Target, Args);
|
|
|
|
|
|
+ TC = std::make_unique<toolchains::NetBSD>(*this, Target, Args);
|
|
break;
|
|
break;
|
|
case llvm::Triple::FreeBSD:
|
|
case llvm::Triple::FreeBSD:
|
|
- TC = llvm::make_unique<toolchains::FreeBSD>(*this, Target, Args);
|
|
|
|
|
|
+ TC = std::make_unique<toolchains::FreeBSD>(*this, Target, Args);
|
|
break;
|
|
break;
|
|
case llvm::Triple::Minix:
|
|
case llvm::Triple::Minix:
|
|
- TC = llvm::make_unique<toolchains::Minix>(*this, Target, Args);
|
|
|
|
|
|
+ TC = std::make_unique<toolchains::Minix>(*this, Target, Args);
|
|
break;
|
|
break;
|
|
case llvm::Triple::Linux:
|
|
case llvm::Triple::Linux:
|
|
case llvm::Triple::ELFIAMCU:
|
|
case llvm::Triple::ELFIAMCU:
|
|
if (Target.getArch() == llvm::Triple::hexagon)
|
|
if (Target.getArch() == llvm::Triple::hexagon)
|
|
- TC = llvm::make_unique<toolchains::HexagonToolChain>(*this, Target,
|
|
|
|
|
|
+ TC = std::make_unique<toolchains::HexagonToolChain>(*this, Target,
|
|
Args);
|
|
Args);
|
|
else if ((Target.getVendor() == llvm::Triple::MipsTechnologies) &&
|
|
else if ((Target.getVendor() == llvm::Triple::MipsTechnologies) &&
|
|
!Target.hasEnvironment())
|
|
!Target.hasEnvironment())
|
|
- TC = llvm::make_unique<toolchains::MipsLLVMToolChain>(*this, Target,
|
|
|
|
|
|
+ TC = std::make_unique<toolchains::MipsLLVMToolChain>(*this, Target,
|
|
Args);
|
|
Args);
|
|
else if (Target.getArch() == llvm::Triple::ppc ||
|
|
else if (Target.getArch() == llvm::Triple::ppc ||
|
|
Target.getArch() == llvm::Triple::ppc64 ||
|
|
Target.getArch() == llvm::Triple::ppc64 ||
|
|
Target.getArch() == llvm::Triple::ppc64le)
|
|
Target.getArch() == llvm::Triple::ppc64le)
|
|
- TC = llvm::make_unique<toolchains::PPCLinuxToolChain>(*this, Target,
|
|
|
|
|
|
+ TC = std::make_unique<toolchains::PPCLinuxToolChain>(*this, Target,
|
|
Args);
|
|
Args);
|
|
else
|
|
else
|
|
- TC = llvm::make_unique<toolchains::Linux>(*this, Target, Args);
|
|
|
|
|
|
+ TC = std::make_unique<toolchains::Linux>(*this, Target, Args);
|
|
break;
|
|
break;
|
|
case llvm::Triple::NaCl:
|
|
case llvm::Triple::NaCl:
|
|
- TC = llvm::make_unique<toolchains::NaClToolChain>(*this, Target, Args);
|
|
|
|
|
|
+ TC = std::make_unique<toolchains::NaClToolChain>(*this, Target, Args);
|
|
break;
|
|
break;
|
|
case llvm::Triple::Fuchsia:
|
|
case llvm::Triple::Fuchsia:
|
|
- TC = llvm::make_unique<toolchains::Fuchsia>(*this, Target, Args);
|
|
|
|
|
|
+ TC = std::make_unique<toolchains::Fuchsia>(*this, Target, Args);
|
|
break;
|
|
break;
|
|
case llvm::Triple::Solaris:
|
|
case llvm::Triple::Solaris:
|
|
- TC = llvm::make_unique<toolchains::Solaris>(*this, Target, Args);
|
|
|
|
|
|
+ TC = std::make_unique<toolchains::Solaris>(*this, Target, Args);
|
|
break;
|
|
break;
|
|
case llvm::Triple::AMDHSA:
|
|
case llvm::Triple::AMDHSA:
|
|
case llvm::Triple::AMDPAL:
|
|
case llvm::Triple::AMDPAL:
|
|
case llvm::Triple::Mesa3D:
|
|
case llvm::Triple::Mesa3D:
|
|
- TC = llvm::make_unique<toolchains::AMDGPUToolChain>(*this, Target, Args);
|
|
|
|
|
|
+ TC = std::make_unique<toolchains::AMDGPUToolChain>(*this, Target, Args);
|
|
break;
|
|
break;
|
|
case llvm::Triple::Win32:
|
|
case llvm::Triple::Win32:
|
|
switch (Target.getEnvironment()) {
|
|
switch (Target.getEnvironment()) {
|
|
default:
|
|
default:
|
|
if (Target.isOSBinFormatELF())
|
|
if (Target.isOSBinFormatELF())
|
|
- TC = llvm::make_unique<toolchains::Generic_ELF>(*this, Target, Args);
|
|
|
|
|
|
+ TC = std::make_unique<toolchains::Generic_ELF>(*this, Target, Args);
|
|
else if (Target.isOSBinFormatMachO())
|
|
else if (Target.isOSBinFormatMachO())
|
|
- TC = llvm::make_unique<toolchains::MachO>(*this, Target, Args);
|
|
|
|
|
|
+ TC = std::make_unique<toolchains::MachO>(*this, Target, Args);
|
|
else
|
|
else
|
|
- TC = llvm::make_unique<toolchains::Generic_GCC>(*this, Target, Args);
|
|
|
|
|
|
+ TC = std::make_unique<toolchains::Generic_GCC>(*this, Target, Args);
|
|
break;
|
|
break;
|
|
case llvm::Triple::GNU:
|
|
case llvm::Triple::GNU:
|
|
- TC = llvm::make_unique<toolchains::MinGW>(*this, Target, Args);
|
|
|
|
|
|
+ TC = std::make_unique<toolchains::MinGW>(*this, Target, Args);
|
|
break;
|
|
break;
|
|
case llvm::Triple::Itanium:
|
|
case llvm::Triple::Itanium:
|
|
- TC = llvm::make_unique<toolchains::CrossWindowsToolChain>(*this, Target,
|
|
|
|
|
|
+ TC = std::make_unique<toolchains::CrossWindowsToolChain>(*this, Target,
|
|
Args);
|
|
Args);
|
|
break;
|
|
break;
|
|
case llvm::Triple::MSVC:
|
|
case llvm::Triple::MSVC:
|
|
case llvm::Triple::UnknownEnvironment:
|
|
case llvm::Triple::UnknownEnvironment:
|
|
if (Args.getLastArgValue(options::OPT_fuse_ld_EQ)
|
|
if (Args.getLastArgValue(options::OPT_fuse_ld_EQ)
|
|
.startswith_lower("bfd"))
|
|
.startswith_lower("bfd"))
|
|
- TC = llvm::make_unique<toolchains::CrossWindowsToolChain>(
|
|
|
|
|
|
+ TC = std::make_unique<toolchains::CrossWindowsToolChain>(
|
|
*this, Target, Args);
|
|
*this, Target, Args);
|
|
else
|
|
else
|
|
TC =
|
|
TC =
|
|
- llvm::make_unique<toolchains::MSVCToolChain>(*this, Target, Args);
|
|
|
|
|
|
+ std::make_unique<toolchains::MSVCToolChain>(*this, Target, Args);
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
break;
|
|
break;
|
|
case llvm::Triple::PS4:
|
|
case llvm::Triple::PS4:
|
|
- TC = llvm::make_unique<toolchains::PS4CPU>(*this, Target, Args);
|
|
|
|
|
|
+ TC = std::make_unique<toolchains::PS4CPU>(*this, Target, Args);
|
|
break;
|
|
break;
|
|
case llvm::Triple::Contiki:
|
|
case llvm::Triple::Contiki:
|
|
- TC = llvm::make_unique<toolchains::Contiki>(*this, Target, Args);
|
|
|
|
|
|
+ TC = std::make_unique<toolchains::Contiki>(*this, Target, Args);
|
|
break;
|
|
break;
|
|
case llvm::Triple::Hurd:
|
|
case llvm::Triple::Hurd:
|
|
- TC = llvm::make_unique<toolchains::Hurd>(*this, Target, Args);
|
|
|
|
|
|
+ TC = std::make_unique<toolchains::Hurd>(*this, Target, Args);
|
|
break;
|
|
break;
|
|
default:
|
|
default:
|
|
// Of these targets, Hexagon is the only one that might have
|
|
// Of these targets, Hexagon is the only one that might have
|
|
// an OS of Linux, in which case it got handled above already.
|
|
// an OS of Linux, in which case it got handled above already.
|
|
switch (Target.getArch()) {
|
|
switch (Target.getArch()) {
|
|
case llvm::Triple::tce:
|
|
case llvm::Triple::tce:
|
|
- TC = llvm::make_unique<toolchains::TCEToolChain>(*this, Target, Args);
|
|
|
|
|
|
+ TC = std::make_unique<toolchains::TCEToolChain>(*this, Target, Args);
|
|
break;
|
|
break;
|
|
case llvm::Triple::tcele:
|
|
case llvm::Triple::tcele:
|
|
- TC = llvm::make_unique<toolchains::TCELEToolChain>(*this, Target, Args);
|
|
|
|
|
|
+ TC = std::make_unique<toolchains::TCELEToolChain>(*this, Target, Args);
|
|
break;
|
|
break;
|
|
case llvm::Triple::hexagon:
|
|
case llvm::Triple::hexagon:
|
|
- TC = llvm::make_unique<toolchains::HexagonToolChain>(*this, Target,
|
|
|
|
|
|
+ TC = std::make_unique<toolchains::HexagonToolChain>(*this, Target,
|
|
Args);
|
|
Args);
|
|
break;
|
|
break;
|
|
case llvm::Triple::lanai:
|
|
case llvm::Triple::lanai:
|
|
- TC = llvm::make_unique<toolchains::LanaiToolChain>(*this, Target, Args);
|
|
|
|
|
|
+ TC = std::make_unique<toolchains::LanaiToolChain>(*this, Target, Args);
|
|
break;
|
|
break;
|
|
case llvm::Triple::xcore:
|
|
case llvm::Triple::xcore:
|
|
- TC = llvm::make_unique<toolchains::XCoreToolChain>(*this, Target, Args);
|
|
|
|
|
|
+ TC = std::make_unique<toolchains::XCoreToolChain>(*this, Target, Args);
|
|
break;
|
|
break;
|
|
case llvm::Triple::wasm32:
|
|
case llvm::Triple::wasm32:
|
|
case llvm::Triple::wasm64:
|
|
case llvm::Triple::wasm64:
|
|
- TC = llvm::make_unique<toolchains::WebAssembly>(*this, Target, Args);
|
|
|
|
|
|
+ TC = std::make_unique<toolchains::WebAssembly>(*this, Target, Args);
|
|
break;
|
|
break;
|
|
case llvm::Triple::avr:
|
|
case llvm::Triple::avr:
|
|
- TC = llvm::make_unique<toolchains::AVRToolChain>(*this, Target, Args);
|
|
|
|
|
|
+ TC = std::make_unique<toolchains::AVRToolChain>(*this, Target, Args);
|
|
break;
|
|
break;
|
|
case llvm::Triple::msp430:
|
|
case llvm::Triple::msp430:
|
|
TC =
|
|
TC =
|
|
- llvm::make_unique<toolchains::MSP430ToolChain>(*this, Target, Args);
|
|
|
|
|
|
+ std::make_unique<toolchains::MSP430ToolChain>(*this, Target, Args);
|
|
break;
|
|
break;
|
|
case llvm::Triple::riscv32:
|
|
case llvm::Triple::riscv32:
|
|
case llvm::Triple::riscv64:
|
|
case llvm::Triple::riscv64:
|
|
- TC = llvm::make_unique<toolchains::RISCVToolChain>(*this, Target, Args);
|
|
|
|
|
|
+ TC = std::make_unique<toolchains::RISCVToolChain>(*this, Target, Args);
|
|
break;
|
|
break;
|
|
default:
|
|
default:
|
|
if (Target.getVendor() == llvm::Triple::Myriad)
|
|
if (Target.getVendor() == llvm::Triple::Myriad)
|
|
- TC = llvm::make_unique<toolchains::MyriadToolChain>(*this, Target,
|
|
|
|
|
|
+ TC = std::make_unique<toolchains::MyriadToolChain>(*this, Target,
|
|
Args);
|
|
Args);
|
|
else if (toolchains::BareMetal::handlesTarget(Target))
|
|
else if (toolchains::BareMetal::handlesTarget(Target))
|
|
- TC = llvm::make_unique<toolchains::BareMetal>(*this, Target, Args);
|
|
|
|
|
|
+ TC = std::make_unique<toolchains::BareMetal>(*this, Target, Args);
|
|
else if (Target.isOSBinFormatELF())
|
|
else if (Target.isOSBinFormatELF())
|
|
- TC = llvm::make_unique<toolchains::Generic_ELF>(*this, Target, Args);
|
|
|
|
|
|
+ TC = std::make_unique<toolchains::Generic_ELF>(*this, Target, Args);
|
|
else if (Target.isOSBinFormatMachO())
|
|
else if (Target.isOSBinFormatMachO())
|
|
- TC = llvm::make_unique<toolchains::MachO>(*this, Target, Args);
|
|
|
|
|
|
+ TC = std::make_unique<toolchains::MachO>(*this, Target, Args);
|
|
else
|
|
else
|
|
- TC = llvm::make_unique<toolchains::Generic_GCC>(*this, Target, Args);
|
|
|
|
|
|
+ TC = std::make_unique<toolchains::Generic_GCC>(*this, Target, Args);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|