Please use GitHub pull requests for new patches. Avoid migrating existing patches. Phabricator shutdown timeline
Changeset View
Changeset View
Standalone View
Standalone View
clang/lib/Driver/Driver.cpp
Show All 17 Lines | |||||
#include "ToolChains/Contiki.h" | #include "ToolChains/Contiki.h" | ||||
#include "ToolChains/CrossWindows.h" | #include "ToolChains/CrossWindows.h" | ||||
#include "ToolChains/Cuda.h" | #include "ToolChains/Cuda.h" | ||||
#include "ToolChains/Darwin.h" | #include "ToolChains/Darwin.h" | ||||
#include "ToolChains/DragonFly.h" | #include "ToolChains/DragonFly.h" | ||||
#include "ToolChains/FreeBSD.h" | #include "ToolChains/FreeBSD.h" | ||||
#include "ToolChains/Fuchsia.h" | #include "ToolChains/Fuchsia.h" | ||||
#include "ToolChains/Gnu.h" | #include "ToolChains/Gnu.h" | ||||
#include "ToolChains/HIP.h" | #include "ToolChains/HIPAMD.h" | ||||
#include "ToolChains/Haiku.h" | #include "ToolChains/Haiku.h" | ||||
#include "ToolChains/Hexagon.h" | #include "ToolChains/Hexagon.h" | ||||
#include "ToolChains/Hurd.h" | #include "ToolChains/Hurd.h" | ||||
#include "ToolChains/Lanai.h" | #include "ToolChains/Lanai.h" | ||||
#include "ToolChains/Linux.h" | #include "ToolChains/Linux.h" | ||||
#include "ToolChains/MSP430.h" | #include "ToolChains/MSP430.h" | ||||
#include "ToolChains/MSVC.h" | #include "ToolChains/MSVC.h" | ||||
#include "ToolChains/MinGW.h" | #include "ToolChains/MinGW.h" | ||||
▲ Show 20 Lines • Show All 661 Lines • ▼ Show 20 Lines | if (IsCuda) { | ||||
const ToolChain *HostTC = C.getSingleOffloadToolChain<Action::OFK_Host>(); | const ToolChain *HostTC = C.getSingleOffloadToolChain<Action::OFK_Host>(); | ||||
const llvm::Triple &HostTriple = HostTC->getTriple(); | const llvm::Triple &HostTriple = HostTC->getTriple(); | ||||
auto OFK = Action::OFK_HIP; | auto OFK = Action::OFK_HIP; | ||||
llvm::Triple HIPTriple = getHIPOffloadTargetTriple(); | llvm::Triple HIPTriple = getHIPOffloadTargetTriple(); | ||||
// Use the HIP and host triples as the key into the ToolChains map, | // Use the HIP and host triples as the key into the ToolChains map, | ||||
// 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 = std::make_unique<toolchains::HIPToolChain>( | HIPTC = std::make_unique<toolchains::HIPAMDToolChain>( | ||||
*this, HIPTriple, *HostTC, C.getInputArgs()); | *this, HIPTriple, *HostTC, C.getInputArgs()); | ||||
} | } | ||||
C.addOffloadDeviceToolChain(HIPTC.get(), OFK); | C.addOffloadDeviceToolChain(HIPTC.get(), OFK); | ||||
} | } | ||||
// | // | ||||
// OpenMP | // OpenMP | ||||
// | // | ||||
▲ Show 20 Lines • Show All 4,898 Lines • Show Last 20 Lines |