4343#include " ToolChains/PS4CPU.h"
4444#include " ToolChains/RISCVToolchain.h"
4545#include " ToolChains/SPIRV.h"
46- #include " ToolChains/SYCL.h"
4746#include " ToolChains/Solaris.h"
4847#include " ToolChains/TCE.h"
4948#include " ToolChains/UEFI.h"
@@ -782,27 +781,6 @@ Driver::OpenMPRuntimeKind Driver::getOpenMPRuntime(const ArgList &Args) const {
782781 return RT;
783782}
784783
785- static const char *getDefaultSYCLArch (Compilation &C) {
786- // If -fsycl is supplied we will assume SPIR-V
787- if (C.getDefaultToolChain ().getTriple ().isArch32Bit ())
788- return " spirv32" ;
789- return " spirv64" ;
790- }
791-
792- static bool addSYCLDefaultTriple (Compilation &C,
793- SmallVectorImpl<llvm::Triple> &SYCLTriples) {
794- for (const auto &SYCLTriple : SYCLTriples) {
795- if (SYCLTriple.getSubArch () == llvm::Triple::NoSubArch &&
796- SYCLTriple.isSPIROrSPIRV ())
797- return false ;
798- }
799- // Add the default triple as it was not found.
800- llvm::Triple DefaultTriple =
801- C.getDriver ().getSYCLDeviceTriple (getDefaultSYCLArch (C));
802- SYCLTriples.insert (SYCLTriples.begin (), DefaultTriple);
803- return true ;
804- }
805-
806784void Driver::CreateOffloadingDeviceToolChains (Compilation &C,
807785 InputList &Inputs) {
808786
@@ -1016,41 +994,6 @@ void Driver::CreateOffloadingDeviceToolChains(Compilation &C,
1016994 return ;
1017995 }
1018996
1019- //
1020- // SYCL
1021- //
1022- // We need to generate a SYCL toolchain if the user specified -fsycl.
1023- bool IsSYCL = C.getInputArgs ().hasFlag (options::OPT_fsycl,
1024- options::OPT_fno_sycl, false );
1025-
1026- auto argSYCLIncompatible = [&](OptSpecifier OptId) {
1027- if (!IsSYCL)
1028- return ;
1029- if (Arg *IncompatArg = C.getInputArgs ().getLastArg (OptId))
1030- Diag (clang::diag::err_drv_argument_not_allowed_with)
1031- << IncompatArg->getSpelling () << " -fsycl" ;
1032- };
1033- // -static-libstdc++ is not compatible with -fsycl.
1034- argSYCLIncompatible (options::OPT_static_libstdcxx);
1035- // -ffreestanding cannot be used with -fsycl
1036- argSYCLIncompatible (options::OPT_ffreestanding);
1037-
1038- llvm::SmallVector<llvm::Triple, 4 > UniqueSYCLTriplesVec;
1039-
1040- if (IsSYCL) {
1041- addSYCLDefaultTriple (C, UniqueSYCLTriplesVec);
1042-
1043- // We'll need to use the SYCL and host triples as the key into
1044- // getOffloadingDeviceToolChain, because the device toolchains we're
1045- // going to create will depend on both.
1046- const ToolChain *HostTC = C.getSingleOffloadToolChain <Action::OFK_Host>();
1047- for (const auto &TT : UniqueSYCLTriplesVec) {
1048- auto SYCLTC = &getOffloadingDeviceToolChain (C.getInputArgs (), TT, *HostTC,
1049- Action::OFK_SYCL);
1050- C.addOffloadDeviceToolChain (SYCLTC, Action::OFK_SYCL);
1051- }
1052- }
1053-
1054997 //
1055998 // TODO: Add support for other offloading programming models here.
1056999 //
@@ -2072,20 +2015,6 @@ void Driver::PrintHelp(bool ShowHidden) const {
20722015 VisibilityMask);
20732016}
20742017
2075- llvm::Triple Driver::getSYCLDeviceTriple (StringRef TargetArch) const {
2076- SmallVector<StringRef, 5 > SYCLAlias = {" spir" , " spir64" , " spirv32" ,
2077- " spirv64" };
2078- if (std::find (SYCLAlias.begin (), SYCLAlias.end (), TargetArch) !=
2079- SYCLAlias.end ()) {
2080- llvm::Triple TT;
2081- TT.setArchName (TargetArch);
2082- TT.setVendor (llvm::Triple::UnknownVendor);
2083- TT.setOS (llvm::Triple::UnknownOS);
2084- return TT;
2085- }
2086- return llvm::Triple (TargetArch);
2087- }
2088-
20892018void Driver::PrintVersion (const Compilation &C, raw_ostream &OS) const {
20902019 if (IsFlangMode ()) {
20912020 OS << getClangToolFullVersion (" flang" ) << ' \n ' ;
@@ -4242,7 +4171,6 @@ void Driver::BuildActions(Compilation &C, DerivedArgList &Args,
42424171
42434172 bool UseNewOffloadingDriver =
42444173 C.isOffloadingHostKind (Action::OFK_OpenMP) ||
4245- C.isOffloadingHostKind (Action::OFK_SYCL) ||
42464174 Args.hasFlag (options::OPT_foffload_via_llvm,
42474175 options::OPT_fno_offload_via_llvm, false ) ||
42484176 Args.hasFlag (options::OPT_offload_new_driver,
@@ -4654,8 +4582,6 @@ Driver::getOffloadArchs(Compilation &C, const llvm::opt::DerivedArgList &Args,
46544582 Archs.insert (OffloadArchToString (OffloadArch::HIPDefault));
46554583 else if (Kind == Action::OFK_OpenMP)
46564584 Archs.insert (StringRef ());
4657- else if (Kind == Action::OFK_SYCL)
4658- Archs.insert (StringRef ());
46594585 } else {
46604586 Args.ClaimAllArgs (options::OPT_offload_arch_EQ);
46614587 Args.ClaimAllArgs (options::OPT_no_offload_arch_EQ);
@@ -4680,7 +4606,7 @@ Action *Driver::BuildOffloadingActions(Compilation &C,
46804606 OffloadAction::DeviceDependences DDeps;
46814607
46824608 const Action::OffloadKind OffloadKinds[] = {
4683- Action::OFK_OpenMP, Action::OFK_Cuda, Action::OFK_HIP, Action::OFK_SYCL };
4609+ Action::OFK_OpenMP, Action::OFK_Cuda, Action::OFK_HIP};
46844610
46854611 for (Action::OffloadKind Kind : OffloadKinds) {
46864612 SmallVector<const ToolChain *, 2 > ToolChains;
@@ -4725,11 +4651,6 @@ Action *Driver::BuildOffloadingActions(Compilation &C,
47254651 break ;
47264652 }
47274653
4728- // Assemble actions are not used for the SYCL device side. Both compile
4729- // and backend actions are used to generate IR and textual IR if needed.
4730- if (Kind == Action::OFK_SYCL && Phase == phases::Assemble)
4731- continue ;
4732-
47334654 auto TCAndArch = TCAndArchs.begin ();
47344655 for (Action *&A : DeviceActions) {
47354656 if (A->getType () == types::TY_Nothing)
@@ -4968,7 +4889,6 @@ Action *Driver::ConstructPhaseAction(
49684889 return C.MakeAction <BackendJobAction>(Input, Output);
49694890 }
49704891 if (Args.hasArg (options::OPT_emit_llvm) ||
4971- TargetDeviceOffloadKind == Action::OFK_SYCL ||
49724892 (((Input->getOffloadingToolChain () &&
49734893 Input->getOffloadingToolChain ()->getTriple ().isAMDGPU ()) ||
49744894 TargetDeviceOffloadKind == Action::OFK_HIP) &&
@@ -6663,19 +6583,6 @@ const ToolChain &Driver::getOffloadingDeviceToolChain(
66636583 HostTC, Args);
66646584 break ;
66656585 }
6666- case Action::OFK_SYCL:
6667- switch (Target.getArch ()) {
6668- case llvm::Triple::spir:
6669- case llvm::Triple::spir64:
6670- case llvm::Triple::spirv32:
6671- case llvm::Triple::spirv64:
6672- TC = std::make_unique<toolchains::SYCLToolChain>(*this , Target, HostTC,
6673- Args);
6674- break ;
6675- default :
6676- break ;
6677- }
6678- break ;
66796586 default :
66806587 break ;
66816588 }
0 commit comments