@@ -706,18 +706,6 @@ static bool isValidSYCLTriple(llvm::Triple T) {
706
706
return true ;
707
707
}
708
708
709
- // Create a triple based off of the input provided. Allow for short aliases
710
- // of known arch strings, which will be expanded to the full triple for usage
711
- // during the compilation.
712
- static llvm::Triple resolveSYCLTriple (Compilation &C, StringRef TripleStr) {
713
- SmallVector<StringRef, 4 > SYCLAlias = {" spir64" , " spir64_fpga" ,
714
- " spir64_x86_64" , " spir64_gen" };
715
- if (std::find (SYCLAlias.begin (), SYCLAlias.end (), TripleStr) !=
716
- SYCLAlias.end ())
717
- return C.getDriver ().MakeSYCLDeviceTriple (TripleStr);
718
- return llvm::Triple (TripleStr);
719
- }
720
-
721
709
void Driver::CreateOffloadingDeviceToolChains (Compilation &C,
722
710
InputList &Inputs) {
723
711
@@ -909,7 +897,7 @@ void Driver::CreateOffloadingDeviceToolChains(Compilation &C,
909
897
if (SYCLTargetsValues) {
910
898
if (SYCLTargetsValues->getNumValues ()) {
911
899
for (StringRef Val : SYCLTargetsValues->getValues ()) {
912
- llvm::Triple TT (resolveSYCLTriple (C, Val));
900
+ llvm::Triple TT (MakeSYCLDeviceTriple ( Val));
913
901
if (!isValidSYCLTriple (TT)) {
914
902
Diag (clang::diag::err_drv_invalid_sycl_target) << Val;
915
903
continue ;
@@ -1858,12 +1846,18 @@ void Driver::PrintHelp(bool ShowHidden) const {
1858
1846
}
1859
1847
1860
1848
llvm::Triple Driver::MakeSYCLDeviceTriple (StringRef TargetArch) const {
1861
- llvm::Triple TT;
1862
- TT.setArchName (TargetArch);
1863
- TT.setVendor (llvm::Triple::UnknownVendor);
1864
- TT.setOS (llvm::Triple::UnknownOS);
1865
- TT.setEnvironment (llvm::Triple::SYCLDevice);
1866
- return TT;
1849
+ SmallVector<StringRef, 5 > SYCLAlias = {" spir" , " spir64" , " spir64_fpga" ,
1850
+ " spir64_x86_64" , " spir64_gen" };
1851
+ if (std::find (SYCLAlias.begin (), SYCLAlias.end (), TargetArch) !=
1852
+ SYCLAlias.end ()) {
1853
+ llvm::Triple TT;
1854
+ TT.setArchName (TargetArch);
1855
+ TT.setVendor (llvm::Triple::UnknownVendor);
1856
+ TT.setOS (llvm::Triple::UnknownOS);
1857
+ TT.setEnvironment (llvm::Triple::SYCLDevice);
1858
+ return TT;
1859
+ }
1860
+ return llvm::Triple (TargetArch);
1867
1861
}
1868
1862
1869
1863
// Print the help from any of the given tools which are used for AOT
@@ -4577,7 +4571,7 @@ class OffloadingActionBuilder final {
4577
4571
if (SYCLTargets) {
4578
4572
llvm::StringMap<StringRef> FoundNormalizedTriples;
4579
4573
for (const char *Val : SYCLTargets->getValues ()) {
4580
- llvm::Triple TT (resolveSYCLTriple (C, Val));
4574
+ llvm::Triple TT (C. getDriver (). MakeSYCLDeviceTriple ( Val));
4581
4575
std::string NormalizedName = TT.normalize ();
4582
4576
4583
4577
// Make sure we don't have a duplicate triple.
0 commit comments