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 //
@@ -2084,20 +2027,6 @@ void Driver::PrintHelp(bool ShowHidden) const {
20842027 VisibilityMask);
20852028}
20862029
2087- llvm::Triple Driver::getSYCLDeviceTriple (StringRef TargetArch) const {
2088- SmallVector<StringRef, 5 > SYCLAlias = {" spir" , " spir64" , " spirv32" ,
2089- " spirv64" };
2090- if (std::find (SYCLAlias.begin (), SYCLAlias.end (), TargetArch) !=
2091- SYCLAlias.end ()) {
2092- llvm::Triple TT;
2093- TT.setArchName (TargetArch);
2094- TT.setVendor (llvm::Triple::UnknownVendor);
2095- TT.setOS (llvm::Triple::UnknownOS);
2096- return TT;
2097- }
2098- return llvm::Triple (TargetArch);
2099- }
2100-
21012030void Driver::PrintVersion (const Compilation &C, raw_ostream &OS) const {
21022031 if (IsFlangMode ()) {
21032032 OS << getClangToolFullVersion (" flang" ) << ' \n ' ;
@@ -4255,7 +4184,6 @@ void Driver::BuildActions(Compilation &C, DerivedArgList &Args,
42554184
42564185 bool UseNewOffloadingDriver =
42574186 C.isOffloadingHostKind (Action::OFK_OpenMP) ||
4258- C.isOffloadingHostKind (Action::OFK_SYCL) ||
42594187 Args.hasFlag (options::OPT_foffload_via_llvm,
42604188 options::OPT_fno_offload_via_llvm, false ) ||
42614189 Args.hasFlag (options::OPT_offload_new_driver,
@@ -4666,8 +4594,6 @@ Driver::getOffloadArchs(Compilation &C, const llvm::opt::DerivedArgList &Args,
46664594 Archs.insert (OffloadArchToString (OffloadArch::HIPDefault));
46674595 else if (Kind == Action::OFK_OpenMP)
46684596 Archs.insert (StringRef ());
4669- else if (Kind == Action::OFK_SYCL)
4670- Archs.insert (StringRef ());
46714597 } else {
46724598 Args.ClaimAllArgs (options::OPT_offload_arch_EQ);
46734599 Args.ClaimAllArgs (options::OPT_no_offload_arch_EQ);
@@ -4692,7 +4618,7 @@ Action *Driver::BuildOffloadingActions(Compilation &C,
46924618 OffloadAction::DeviceDependences DDeps;
46934619
46944620 const Action::OffloadKind OffloadKinds[] = {
4695- Action::OFK_OpenMP, Action::OFK_Cuda, Action::OFK_HIP, Action::OFK_SYCL };
4621+ Action::OFK_OpenMP, Action::OFK_Cuda, Action::OFK_HIP};
46964622
46974623 for (Action::OffloadKind Kind : OffloadKinds) {
46984624 SmallVector<const ToolChain *, 2 > ToolChains;
@@ -4737,11 +4663,6 @@ Action *Driver::BuildOffloadingActions(Compilation &C,
47374663 break ;
47384664 }
47394665
4740- // Assemble actions are not used for the SYCL device side. Both compile
4741- // and backend actions are used to generate IR and textual IR if needed.
4742- if (Kind == Action::OFK_SYCL && Phase == phases::Assemble)
4743- continue ;
4744-
47454666 auto TCAndArch = TCAndArchs.begin ();
47464667 for (Action *&A : DeviceActions) {
47474668 if (A->getType () == types::TY_Nothing)
@@ -4980,7 +4901,6 @@ Action *Driver::ConstructPhaseAction(
49804901 return C.MakeAction <BackendJobAction>(Input, Output);
49814902 }
49824903 if (Args.hasArg (options::OPT_emit_llvm) ||
4983- TargetDeviceOffloadKind == Action::OFK_SYCL ||
49844904 (((Input->getOffloadingToolChain () &&
49854905 Input->getOffloadingToolChain ()->getTriple ().isAMDGPU ()) ||
49864906 TargetDeviceOffloadKind == Action::OFK_HIP) &&
@@ -6672,19 +6592,6 @@ const ToolChain &Driver::getOffloadingDeviceToolChain(
66726592 HostTC, Args);
66736593 break ;
66746594 }
6675- case Action::OFK_SYCL:
6676- switch (Target.getArch ()) {
6677- case llvm::Triple::spir:
6678- case llvm::Triple::spir64:
6679- case llvm::Triple::spirv32:
6680- case llvm::Triple::spirv64:
6681- TC = std::make_unique<toolchains::SYCLToolChain>(*this , Target, HostTC,
6682- Args);
6683- break ;
6684- default :
6685- break ;
6686- }
6687- break ;
66886595 default :
66896596 break ;
66906597 }
0 commit comments