@@ -854,19 +854,6 @@ static bool addSYCLDefaultTriple(Compilation &C,
854854 return true ;
855855}
856856
857- // Special function that checks if -fsycl-device-only was passed on the
858- // command line. -fsycl-device-only is an alias of --offload-device-only.
859- static bool hasSYCLDeviceOnly (const ArgList &Args) {
860- if (const Arg *SYCLDeviceOnlyArg =
861- Args.getLastArg (options::OPT_offload_device_only)) {
862- while (SYCLDeviceOnlyArg->getAlias ())
863- SYCLDeviceOnlyArg = SYCLDeviceOnlyArg->getAlias ();
864- if (SYCLDeviceOnlyArg->getSpelling ().contains (" sycl-device-only" ))
865- return true ;
866- }
867- return false ;
868- }
869-
870857void Driver::CreateOffloadingDeviceToolChains (Compilation &C,
871858 InputList &Inputs) {
872859
@@ -1089,7 +1076,7 @@ void Driver::CreateOffloadingDeviceToolChains(Compilation &C,
10891076 bool HasValidSYCLRuntime =
10901077 C.getInputArgs ().hasFlag (options::OPT_fsycl, options::OPT_fno_sycl,
10911078 false ) ||
1092- hasSYCLDeviceOnly ( C.getInputArgs ());
1079+ C.getInputArgs (). hasArg (options::OPT_fsycl_device_only );
10931080
10941081 Arg *SYCLfpga = C.getInputArgs ().getLastArg (options::OPT_fintelfpga);
10951082
@@ -1758,12 +1745,13 @@ Compilation *Driver::BuildCompilation(ArrayRef<const char *> ArgList) {
17581745 if (Args.getLastArg (options::OPT_fsycl_dump_device_code_EQ))
17591746 DumpDeviceCode = true ;
17601747
1761- if (const Arg *A = Args.getLastArg (options::OPT_offload_host_only,
1762- options::OPT_offload_device_only,
1763- options::OPT_offload_host_device)) {
1748+ if (const Arg *A = Args.getLastArg (
1749+ options::OPT_offload_host_only, options::OPT_offload_device_only,
1750+ options::OPT_fsycl_device_only, options::OPT_offload_host_device)) {
17641751 if (A->getOption ().matches (options::OPT_offload_host_only))
17651752 Offload = OffloadHost;
1766- else if (A->getOption ().matches (options::OPT_offload_device_only))
1753+ else if (A->getOption ().matches (options::OPT_offload_device_only) ||
1754+ A->getOption ().matches (options::OPT_fsycl_device_only))
17671755 Offload = OffloadDevice;
17681756 else
17691757 Offload = OffloadHostDevice;
@@ -3138,7 +3126,7 @@ void Driver::BuildInputs(const ToolChain &TC, DerivedArgList &Args,
31383126 Arg *InputTypeArg = nullptr ;
31393127 bool IsSYCL =
31403128 Args.hasFlag (options::OPT_fsycl, options::OPT_fno_sycl, false ) ||
3141- hasSYCLDeviceOnly ( Args);
3129+ Args. hasArg (options::OPT_fsycl_device_only );
31423130
31433131 // The last /TC or /TP option sets the input type to C or C++ globally.
31443132 if (Arg *TCTP = Args.getLastArgNoClaim (options::OPT__SLASH_TC,
0 commit comments