llvmorg-github-actions[bot] wrote:

<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-clang-driver

Author: Matt Arsenault (arsenm)

<details>
<summary>Changes</summary>

Avoid littering calls to normalize around by ensuring toolchains
always use a normalized triple. The test changes are due to
inconsistencies in the behavior of the triple APIs. If the arch name
is empty, normalize leaves it unchanged. If the triple is archname--,
normalize will expand the empty groups to be unknown. setArchName
will introduce the empty groups, which occurs in some of the triple
modifying driver path (mostly the handling of the endianness -m flags).

Driver is still holding onto a raw, unnormalized string triple but
leave that for a later cleanup.

Co-authored-by: Claude Sonnet 4 &lt;noreply@<!-- -->anthropic.com&gt;

---

Patch is 32.67 KiB, truncated to 20.00 KiB below, full version: 
https://github.com/llvm/llvm-project/pull/201869.diff


24 Files Affected:

- (modified) clang/lib/Driver/Driver.cpp (+19-14) 
- (modified) clang/lib/Driver/ToolChain.cpp (+1) 
- (modified) clang/lib/Driver/ToolChains/Clang.cpp (+6-8) 
- (modified) clang/lib/Driver/ToolChains/HIPUtility.cpp (+4-4) 
- (modified) clang/lib/Driver/ToolChains/Hexagon.cpp (+3-3) 
- (modified) clang/test/Driver/aarch64-cortex-a35.c (+2-2) 
- (modified) clang/test/Driver/aarch64-cortex-a53.c (+2-2) 
- (modified) clang/test/Driver/aarch64-cortex-a55.c (+2-2) 
- (modified) clang/test/Driver/aarch64-cortex-a57.c (+2-2) 
- (modified) clang/test/Driver/aarch64-cortex-a72.c (+2-2) 
- (modified) clang/test/Driver/aarch64-cortex-a73.c (+2-2) 
- (modified) clang/test/Driver/aarch64-cortex-a75.c (+2-2) 
- (modified) clang/test/Driver/aarch64-cortex-a76.c (+2-2) 
- (modified) clang/test/Driver/aarch64-fp16.c (+1-1) 
- (modified) clang/test/Driver/aarch64-march.c (+2-2) 
- (modified) clang/test/Driver/aarch64-mcpu.c (+1-1) 
- (modified) clang/test/Driver/aarch64-oryon-1.c (+2-2) 
- (modified) clang/test/Driver/aarch64-thunderx2t99.c (+2-2) 
- (modified) clang/test/Driver/aarch64-thunderx3t110.c (+2-2) 
- (modified) clang/test/Driver/aarch64-v81a.c (+1-1) 
- (modified) clang/test/Driver/aarch64-v83a.c (+1-1) 
- (modified) clang/test/Driver/aarch64-v84a.c (+1-1) 
- (modified) clang/test/Driver/aarch64-v8a.c (+1-1) 
- (modified) clang/test/Driver/print-enabled-extensions/aarch64-grace.c (+1-1) 


``````````diff
diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp
index be281f7aeb4a4..e27fab7384ccf 100644
--- a/clang/lib/Driver/Driver.cpp
+++ b/clang/lib/Driver/Driver.cpp
@@ -640,7 +640,7 @@ static llvm::Triple computeTargetTriple(const Driver &D,
     if (!DarwinArchName.empty()) {
       tools::darwin::setTripleTypeForMachOArchName(Target, DarwinArchName,
                                                    Args);
-      return Target;
+      return llvm::Triple(Target.normalize());
     }
 
     // Handle the Darwin '-arch' flag.
@@ -658,7 +658,7 @@ static llvm::Triple computeTargetTriple(const Driver &D,
                          ? Target.getLittleEndianArchVariant()
                          : Target.getBigEndianArchVariant();
     if (T.getArch() != llvm::Triple::UnknownArch) {
-      Target = std::move(T);
+      Target = llvm::Triple(T.normalize());
       Args.claimAllArgs(options::OPT_mlittle_endian, options::OPT_mbig_endian);
     }
   }
@@ -684,8 +684,10 @@ static llvm::Triple computeTargetTriple(const Driver &D,
         D.Diag(diag::err_drv_invalid_object_mode) << ObjectMode;
       }
 
-      if (AT != llvm::Triple::UnknownArch && AT != Target.getArch())
+      if (AT != llvm::Triple::UnknownArch && AT != Target.getArch()) {
         Target.setArch(AT);
+        Target = llvm::Triple(Target.normalize());
+      }
     }
   }
 #endif
@@ -745,6 +747,8 @@ static llvm::Triple computeTargetTriple(const Driver &D,
       if (Target.isWindowsGNUEnvironment())
         toolchains::MinGW::fixTripleArch(D, Target, Args);
     }
+
+    Target = llvm::Triple(Target.normalize());
   }
 
   if (Target.isOSzOS()) {
@@ -765,11 +769,9 @@ static llvm::Triple computeTargetTriple(const Driver &D,
 
     Target.setArch(llvm::Triple::x86);
     Target.setArchName("i586");
-    Target.setEnvironment(llvm::Triple::UnknownEnvironment);
     Target.setEnvironmentName("");
     Target.setOS(llvm::Triple::ELFIAMCU);
-    Target.setVendor(llvm::Triple::UnknownVendor);
-    Target.setVendorName("intel");
+    Target.setVendor(llvm::Triple::Intel);
   }
 
   // If target is MIPS adjust the target triple
@@ -801,6 +803,8 @@ static llvm::Triple computeTargetTriple(const Driver &D,
                  Target.getEnvironment() == llvm::Triple::MuslABIN32)
           Target.setEnvironment(llvm::Triple::MuslABI64);
       }
+
+      Target = llvm::Triple(Target.normalize());
     }
   }
 
@@ -819,11 +823,13 @@ static llvm::Triple computeTargetTriple(const Driver &D,
             Target.setArch(llvm::Triple::riscv32);
           else
             Target.setArch(llvm::Triple::riscv32be);
+          Target = llvm::Triple(Target.normalize());
         } else if (XLen == 64) {
           if (Target.isLittleEndian())
             Target.setArch(llvm::Triple::riscv64);
           else
             Target.setArch(llvm::Triple::riscv64be);
+          Target = llvm::Triple(Target.normalize());
         }
       }
     }
@@ -1734,7 +1740,7 @@ Compilation *Driver::BuildCompilation(ArrayRef<const char 
*> ArgList) {
        TC.getTriple().getSubArch() != llvm::Triple::AArch64SubArch_arm64ec) &&
       UArgs->hasArg(options::OPT__SLASH_arm64EC)) {
     getDiags().Report(clang::diag::warn_target_override_arm64ec)
-        << TC.getTriple().str();
+        << TC.getTripleString();
   }
 
   // A common user mistake is specifying a target of aarch64-none-eabi or
@@ -2835,7 +2841,7 @@ static unsigned PrintActions1(const Compilation &C, 
Action *A,
           os << '"';
           os << A->getOffloadingKindPrefix();
           os << " (";
-          os << TC->getTriple().normalize();
+          os << TC->getTripleString();
           if (BoundArch)
             os << ":" << BoundArch;
           os << ")";
@@ -6015,7 +6021,7 @@ class ToolSelector final {
 static std::string GetTriplePlusArchString(const ToolChain *TC,
                                            StringRef BoundArch,
                                            Action::OffloadKind OffloadKind) {
-  std::string TriplePlusArch = TC->getTriple().normalize();
+  std::string TriplePlusArch = TC->getTriple().str();
   if (!BoundArch.empty()) {
     TriplePlusArch += "-";
     TriplePlusArch += BoundArch;
@@ -6056,7 +6062,7 @@ static void handleTimeTrace(Compilation &C, const ArgList 
&Args,
   if (JA->getOffloadingDeviceKind() != Action::OFK_None) {
     const ToolChain *TC = JA->getOffloadingToolChain();
     OffloadingPrefix = Action::GetOffloadingFileNamePrefix(
-        JA->getOffloadingDeviceKind(), TC ? TC->getTriple().normalize() : "",
+        JA->getOffloadingDeviceKind(), TC ? TC->getTripleString() : "",
         /*CreatePrefixForHost=*/false);
     if (const char *Arch = JA->getOffloadingArch()) {
       OffloadingPrefix += "-";
@@ -6065,7 +6071,7 @@ static void handleTimeTrace(Compilation &C, const ArgList 
&Args,
   } else if (JA->getOffloadingHostActiveKinds() != Action::OFK_None &&
              C.getDriver().isSaveTempsEnabled()) {
     OffloadingPrefix = Action::GetOffloadingFileNamePrefix(
-        Action::OFK_None, C.getDefaultToolChain().getTriple().normalize(),
+        Action::OFK_None, C.getDefaultToolChain().getTripleString(),
         /*CreatePrefixForHost=*/true);
   }
 
@@ -6314,8 +6320,7 @@ InputInfoList Driver::BuildJobsForActionNoCache(
       // unbundling action does not change the type of the output which can
       // cause a overwrite.
       std::string OffloadingPrefix = Action::GetOffloadingFileNamePrefix(
-          UI.DependentOffloadKind,
-          UI.DependentToolChain->getTriple().normalize(),
+          UI.DependentOffloadKind, UI.DependentToolChain->getTripleString(),
           /*CreatePrefixForHost=*/true);
       auto CurI = InputInfo(
           UA,
@@ -6357,7 +6362,7 @@ InputInfoList Driver::BuildJobsForActionNoCache(
     // We only have to generate a prefix for the host if this is not a 
top-level
     // action.
     std::string OffloadingPrefix = Action::GetOffloadingFileNamePrefix(
-        A->getOffloadingDeviceKind(), EffectiveTriple.normalize(),
+        A->getOffloadingDeviceKind(), EffectiveTriple.str(),
         /*CreatePrefixForHost=*/isa<OffloadPackagerJobAction>(A) ||
             !(A->getOffloadingHostActiveKinds() == Action::OFK_None ||
               AtTopLevel));
diff --git a/clang/lib/Driver/ToolChain.cpp b/clang/lib/Driver/ToolChain.cpp
index ccfc022f79427..d8810e3612ab4 100644
--- a/clang/lib/Driver/ToolChain.cpp
+++ b/clang/lib/Driver/ToolChain.cpp
@@ -93,6 +93,7 @@ ToolChain::ToolChain(const Driver &D, const llvm::Triple &T,
     : D(D), Triple(T), Args(Args), CachedRTTIArg(GetRTTIArgument(Args)),
       CachedRTTIMode(CalculateRTTIMode(Args, Triple, CachedRTTIArg)),
       CachedExceptionsMode(CalculateExceptionsMode(Args)) {
+  assert(T.str() == T.normalize() && "triple should be normalized");
   auto addIfExists = [this](path_list &List, const std::string &Path) {
     if (getVFS().exists(Path))
       List.push_back(Path);
diff --git a/clang/lib/Driver/ToolChains/Clang.cpp 
b/clang/lib/Driver/ToolChains/Clang.cpp
index 8a0efd70e6c0d..d5d218d261b4b 100644
--- a/clang/lib/Driver/ToolChains/Clang.cpp
+++ b/clang/lib/Driver/ToolChains/Clang.cpp
@@ -410,7 +410,7 @@ static void addPGOAndCoverageFlags(const ToolChain &TC, 
Compilation &C,
   if (TC.getTriple().isOSAIX()) {
     if (Arg *ProfileSampleUseArg = getLastProfileSampleUseArg(Args))
       D.Diag(diag::err_drv_unsupported_opt_for_target)
-          << ProfileSampleUseArg->getSpelling() << TC.getTriple().str();
+          << ProfileSampleUseArg->getSpelling() << TC.getTripleString();
   }
 
   if (ProfileGenerateArg) {
@@ -1312,7 +1312,7 @@ static void renderRemarksOptions(const ArgList &Args, 
ArgStringList &CmdArgs,
           !JA.isDeviceOffloading(Action::OFK_Host)) {
         llvm::sys::path::replace_extension(F, "");
         F += Action::GetOffloadingFileNamePrefix(JA.getOffloadingDeviceKind(),
-                                                 Triple.normalize());
+                                                 Triple.str());
         F += "-";
         F += JA.getOffloadingArch();
       }
@@ -4522,7 +4522,7 @@ renderDebugOptions(const ToolChain &TC, const Driver &D, 
const llvm::Triple &T,
     if (TC.getTriple().isOSAIX() && Args.hasArg(options::OPT_gsplit_dwarf)) {
       D.Diag(diag::err_drv_unsupported_opt_for_target)
           << Args.getLastArg(options::OPT_gsplit_dwarf)->getSpelling()
-          << TC.getTriple().str();
+          << TC.getTripleString();
       return;
     }
     Arg *SplitDWARFArg;
@@ -5191,12 +5191,10 @@ void Clang::ConstructJob(Compilation &C, const 
JobAction &JA,
 
   if (IsOpenMPDevice) {
     // We have to pass the triple of the host if compiling for an OpenMP 
device.
-    std::string NormalizedTriple =
-        C.getSingleOffloadToolChain<Action::OFK_Host>()
-            ->getTriple()
-            .normalize();
+    const llvm::Triple &HostTriple =
+        C.getSingleOffloadToolChain<Action::OFK_Host>()->getTriple();
     CmdArgs.push_back("-aux-triple");
-    CmdArgs.push_back(Args.MakeArgString(NormalizedTriple));
+    CmdArgs.push_back(HostTriple.str().c_str());
   }
 
   if (Triple.isOSWindows() && (Triple.getArch() == llvm::Triple::arm ||
diff --git a/clang/lib/Driver/ToolChains/HIPUtility.cpp 
b/clang/lib/Driver/ToolChains/HIPUtility.cpp
index e7fc61114a72a..e174132cf0f3f 100644
--- a/clang/lib/Driver/ToolChains/HIPUtility.cpp
+++ b/clang/lib/Driver/ToolChains/HIPUtility.cpp
@@ -477,10 +477,10 @@ void HIP::constructGenerateObjFileFromHIPFatBinary(
 
   Objf << ObjBuffer;
 
-  ArgStringList ClangArgs{"-target", 
Args.MakeArgString(HostTriple.normalize()),
-                       "-o",      Output.getFilename(),
-                       "-x",      "assembler",
-                       ObjinFile, "-c"};
+  ArgStringList ClangArgs{"-target", Args.MakeArgStringRef(HostTriple.str()),
+                          "-o",      Output.getFilename(),
+                          "-x",      "assembler",
+                          ObjinFile, "-c"};
   C.addCommand(std::make_unique<Command>(JA, T, ResponseFileSupport::None(),
                                          D.getDriverProgramPath(), ClangArgs,
                                          Inputs, Output, D.getPrependArg()));
diff --git a/clang/lib/Driver/ToolChains/Hexagon.cpp 
b/clang/lib/Driver/ToolChains/Hexagon.cpp
index 0e7055797a1f0..28310f23232a1 100644
--- a/clang/lib/Driver/ToolChains/Hexagon.cpp
+++ b/clang/lib/Driver/ToolChains/Hexagon.cpp
@@ -555,11 +555,11 @@ HexagonToolChain::getEffectiveSysRoot(const ArgList 
&Args) const {
   SmallString<128> Dir(getHexagonTargetDir(D.Dir, D.PrefixDirs));
   // For Picolibc, use picolibc/<triple> with no fallback.
   if (GetCStdlibType(Args) == ToolChain::CST_Picolibc) {
-    llvm::sys::path::append(Dir, "picolibc", getTriple().normalize());
+    llvm::sys::path::append(Dir, "picolibc", getTripleString());
     return Dir;
   }
   // Otherwise, try a triple subdirectory first, then fall back to "hexagon".
-  llvm::sys::path::append(Dir, getTriple().normalize());
+  llvm::sys::path::append(Dir, getTripleString());
   if (getVFS().exists(Dir))
     return Dir;
   Dir = getHexagonTargetDir(D.Dir, D.PrefixDirs);
@@ -723,7 +723,7 @@ void HexagonToolChain::AddCXXStdlibLibArgs(const ArgList 
&Args,
     const Arg *A = Args.getLastArg(options::OPT_unwindlib_EQ);
     if (A) {
       getDriver().Diag(diag::err_drv_unsupported_unwind_for_platform)
-          << A->getValue() << getTriple().normalize();
+          << A->getValue() << getTripleString();
       return;
     }
   }
diff --git a/clang/test/Driver/aarch64-cortex-a35.c 
b/clang/test/Driver/aarch64-cortex-a35.c
index 764b5c10f2719..2cf373702823c 100644
--- a/clang/test/Driver/aarch64-cortex-a35.c
+++ b/clang/test/Driver/aarch64-cortex-a35.c
@@ -4,8 +4,8 @@
 // RUN: %clang --target=aarch64 -mtune=cortex-a35 -### -c %s 2>&1 | FileCheck 
-check-prefix=CA35-TUNE %s
 // RUN: %clang --target=aarch64 -mlittle-endian -mtune=cortex-a35 -### -c %s 
2>&1 | FileCheck -check-prefix=CA35-TUNE %s
 // RUN: %clang --target=aarch64_be -mlittle-endian -mtune=cortex-a35 -### -c 
%s 2>&1 | FileCheck -check-prefix=CA35-TUNE %s
-// CA35: "-cc1"{{.*}} "-triple" "aarch64{{(--)?}}"{{.*}} "-target-cpu" 
"cortex-a35"
-// CA35-TUNE: "-cc1"{{.*}} "-triple" "aarch64{{(--)?}}"{{.*}} "-target-cpu" 
"generic"
+// CA35: "-cc1"{{.*}} "-triple" "aarch64{{(-unknown-unknown)?}}"{{.*}} 
"-target-cpu" "cortex-a35"
+// CA35-TUNE: "-cc1"{{.*}} "-triple" "aarch64{{(-unknown-unknown)?}}"{{.*}} 
"-target-cpu" "generic"
 
 // RUN: %clang --target=arm64 -mcpu=cortex-a35 -### -c %s 2>&1 | FileCheck 
-check-prefix=ARM64-CA35 %s
 // RUN: %clang --target=arm64 -mlittle-endian -mcpu=cortex-a35 -### -c %s 2>&1 
| FileCheck -check-prefix=ARM64-CA35 %s
diff --git a/clang/test/Driver/aarch64-cortex-a53.c 
b/clang/test/Driver/aarch64-cortex-a53.c
index 0f0239808c3c2..ba1a265183074 100644
--- a/clang/test/Driver/aarch64-cortex-a53.c
+++ b/clang/test/Driver/aarch64-cortex-a53.c
@@ -3,8 +3,8 @@
 // RUN: %clang --target=aarch64_be -mlittle-endian -mcpu=cortex-a53 -### -c %s 
2>&1 | FileCheck -check-prefix=CA53 %s
 // RUN: %clang --target=aarch64 -mtune=cortex-a53 -### -c %s 2>&1 | FileCheck 
-check-prefix=CA53-TUNE %s
 // RUN: %clang --target=aarch64_be -mlittle-endian -mtune=cortex-a53 -### -c 
%s 2>&1 | FileCheck -check-prefix=CA53-TUNE %s
-// CA53: "-cc1"{{.*}} "-triple" "aarch64{{(--)?}}"{{.*}} "-target-cpu" 
"cortex-a53"
-// CA53-TUNE: "-cc1"{{.*}} "-triple" "aarch64{{(--)?}}"{{.*}} "-target-cpu" 
"generic"
+// CA53: "-cc1"{{.*}} "-triple" "aarch64{{(-unknown-unknown)?}}"{{.*}} 
"-target-cpu" "cortex-a53"
+// CA53-TUNE: "-cc1"{{.*}} "-triple" "aarch64{{(-unknown-unknown)?}}"{{.*}} 
"-target-cpu" "generic"
 
 // RUN: %clang --target=arm64 -mcpu=cortex-a53 -### -c %s 2>&1 | FileCheck 
-check-prefix=ARM64-CA53 %s
 // RUN: %clang --target=arm64 -mlittle-endian -mcpu=cortex-a53 -### -c %s 2>&1 
| FileCheck -check-prefix=ARM64-CA53 %s
diff --git a/clang/test/Driver/aarch64-cortex-a55.c 
b/clang/test/Driver/aarch64-cortex-a55.c
index 519065d9ea032..edc41d415a2fd 100644
--- a/clang/test/Driver/aarch64-cortex-a55.c
+++ b/clang/test/Driver/aarch64-cortex-a55.c
@@ -3,8 +3,8 @@
 // RUN: %clang --target=aarch64_be -mlittle-endian -mcpu=cortex-a55 -### -c %s 
2>&1 | FileCheck -check-prefix=CA55 %s
 // RUN: %clang --target=aarch64 -mtune=cortex-a55 -### -c %s 2>&1 | FileCheck 
-check-prefix=CA55-TUNE %s
 // RUN: %clang --target=aarch64_be -mlittle-endian -mtune=cortex-a55 -### -c 
%s 2>&1 | FileCheck -check-prefix=CA55-TUNE %s
-// CA55: "-cc1"{{.*}} "-triple" "aarch64{{(--)?}}"{{.*}} "-target-cpu" 
"cortex-a55"
-// CA55-TUNE: "-cc1"{{.*}} "-triple" "aarch64{{(--)?}}"{{.*}} "-target-cpu" 
"generic"
+// CA55: "-cc1"{{.*}} "-triple" "aarch64{{(-unknown-unknown)?}}"{{.*}} 
"-target-cpu" "cortex-a55"
+// CA55-TUNE: "-cc1"{{.*}} "-triple" "aarch64{{(-unknown-unknown)?}}"{{.*}} 
"-target-cpu" "generic"
 
 // RUN: %clang --target=arm64 -mcpu=cortex-a55 -### -c %s 2>&1 | FileCheck 
-check-prefix=ARM64-CA55 %s
 // RUN: %clang --target=arm64 -mlittle-endian -mcpu=cortex-a55 -### -c %s 2>&1 
| FileCheck -check-prefix=ARM64-CA55 %s
diff --git a/clang/test/Driver/aarch64-cortex-a57.c 
b/clang/test/Driver/aarch64-cortex-a57.c
index f26030cead395..30dccf5b4a094 100644
--- a/clang/test/Driver/aarch64-cortex-a57.c
+++ b/clang/test/Driver/aarch64-cortex-a57.c
@@ -4,8 +4,8 @@
 // RUN: %clang --target=aarch64 -mtune=cortex-a57 -### -c %s 2>&1 | FileCheck 
-check-prefix=CA57-TUNE %s
 // RUN: %clang --target=aarch64 -mlittle-endian -mtune=cortex-a57 -### -c %s 
2>&1 | FileCheck -check-prefix=CA57-TUNE %s
 // RUN: %clang --target=aarch64_be -mlittle-endian -mtune=cortex-a57 -### -c 
%s 2>&1 | FileCheck -check-prefix=CA57-TUNE %s
-// CA57: "-cc1"{{.*}} "-triple" "aarch64{{(--)?}}"{{.*}} "-target-cpu" 
"cortex-a57"
-// CA57-TUNE: "-cc1"{{.*}} "-triple" "aarch64{{(--)?}}"{{.*}} "-target-cpu" 
"generic"
+// CA57: "-cc1"{{.*}} "-triple" "aarch64{{(-unknown-unknown)?}}"{{.*}} 
"-target-cpu" "cortex-a57"
+// CA57-TUNE: "-cc1"{{.*}} "-triple" "aarch64{{(-unknown-unknown)?}}"{{.*}} 
"-target-cpu" "generic"
 
 // RUN: %clang --target=arm64 -mcpu=cortex-a57 -### -c %s 2>&1 | FileCheck 
-check-prefix=ARM64-CA57 %s
 // RUN: %clang --target=arm64 -mlittle-endian -mcpu=cortex-a57 -### -c %s 2>&1 
| FileCheck -check-prefix=ARM64-CA57 %s
diff --git a/clang/test/Driver/aarch64-cortex-a72.c 
b/clang/test/Driver/aarch64-cortex-a72.c
index 75aa1e062fa72..b4b5b2c9678ca 100644
--- a/clang/test/Driver/aarch64-cortex-a72.c
+++ b/clang/test/Driver/aarch64-cortex-a72.c
@@ -4,8 +4,8 @@
 // RUN: %clang --target=aarch64 -mtune=cortex-a72 -### -c %s 2>&1 | FileCheck 
-check-prefix=CA72-TUNE %s
 // RUN: %clang --target=aarch64 -mlittle-endian -mtune=cortex-a72 -### -c %s 
2>&1 | FileCheck -check-prefix=CA72-TUNE %s
 // RUN: %clang --target=aarch64_be -mlittle-endian -mtune=cortex-a72 -### -c 
%s 2>&1 | FileCheck -check-prefix=CA72-TUNE %s
-// CA72: "-cc1"{{.*}} "-triple" "aarch64{{(--)?}}"{{.*}} "-target-cpu" 
"cortex-a72"
-// CA72-TUNE: "-cc1"{{.*}} "-triple" "aarch64{{(--)?}}"{{.*}} "-target-cpu" 
"generic"
+// CA72: "-cc1"{{.*}} "-triple" "aarch64{{(-unknown-unknown)?}}"{{.*}} 
"-target-cpu" "cortex-a72"
+// CA72-TUNE: "-cc1"{{.*}} "-triple" "aarch64{{(-unknown-unknown)?}}"{{.*}} 
"-target-cpu" "generic"
 
 // RUN: %clang --target=arm64 -mcpu=cortex-a72 -### -c %s 2>&1 | FileCheck 
-check-prefix=ARM64-CA72 %s
 // RUN: %clang --target=arm64 -mlittle-endian -mcpu=cortex-a72 -### -c %s 2>&1 
| FileCheck -check-prefix=ARM64-CA72 %s
diff --git a/clang/test/Driver/aarch64-cortex-a73.c 
b/clang/test/Driver/aarch64-cortex-a73.c
index 7ec369ffbb3c2..3e9490cf16f36 100644
--- a/clang/test/Driver/aarch64-cortex-a73.c
+++ b/clang/test/Driver/aarch64-cortex-a73.c
@@ -4,8 +4,8 @@
 // RUN: %clang --target=aarch64 -mtune=cortex-a73 -### -c %s 2>&1 | FileCheck 
-check-prefix=CORTEX-A73-TUNE %s
 // RUN: %clang --target=aarch64 -mlittle-endian -mtune=cortex-a73 -### -c %s 
2>&1 | FileCheck -check-prefix=CORTEX-A73-TUNE %s
 // RUN: %clang --target=aarch64_be -mlittle-endian -mtune=cortex-a73 -### -c 
%s 2>&1 | FileCheck -check-prefix=CORTEX-A73-TUNE %s
-// CORTEX-A73: "-cc1"{{.*}} "-triple" "aarch64{{(--)?}}"{{.*}} "-target-cpu" 
"cortex-a73"
-// CORTEX-A73-TUNE: "-cc1"{{.*}} "-triple" "aarch64{{(--)?}}"{{.*}} 
"-target-cpu" "generic"
+// CORTEX-A73: "-cc1"{{.*}} "-triple" "aarch64{{(-unknown-unknown)?}}"{{.*}} 
"-target-cpu" "cortex-a73"
+// CORTEX-A73-TUNE: "-cc1"{{.*}} "-triple" 
"aarch64{{(-unknown-unknown)?}}"{{.*}} "-target-cpu" "generic"
 
 // RUN: %clang --target=arm64 -mcpu=cortex-a73 -### -c %s 2>&1 | FileCheck 
-check-prefix=ARM64-CORTEX-A73 %s
 // RUN: %clang --target=arm64 -mlittle-endian -mcpu=cortex-a73 -### -c %s 2>&1 
| FileCheck -check-prefix=ARM64-CORTEX-A73 %s
diff --git a/clang/test/Driver/aarch64-cortex-a75.c 
b/clang/test/Driver/aarch64-cortex-a75.c
index 77584977ce693..a74022d6eead9 100644
--- a/clang/test/Driver/aarch64-cortex-a75.c
+++ b/clang/test/Driver/aarch64-cortex-a75.c
@@ -4,8 +4,8 @@
 // RUN: %clang --target=aarch64 -mtune=cortex-a75 -### -c %s 2>&1 | FileCheck 
-check-prefix=CORTEX-A75-TUNE %s
 // RUN: %clang --target=aarch64 -mlittle-endian -mtune=cortex-a75 -### -c %s 
2>&1 | FileCheck -check-prefix=CORTEX-A75-TUNE %s
 // RUN: %clang --target=aarch64_be -mlittle-endian -mtune=cortex-a75 -### -c 
%s 2>&1 | FileCheck -check-prefix=CORTEX-A75-TUNE %s
-// CORTEX-A75: "-cc1"{{.*}} "-triple" "aarch64{{(--)?}}"{{.*}} "-target-cpu" 
"cortex-a75"
-// CORTEX-A75-TUNE: "-cc1"{{.*}} "-triple" "aarch64{{(--)?}}"{{.*}} 
"-target-cpu" "generic"
+// CORTEX-A75: "-cc1"{{.*}} "-triple" "aarch64{{(-unknown-unknown)?}}"{{.*}} 
"-target-cpu" "cortex-a75"
+// CORTEX-A75-TUNE: "-cc1"{{.*}} "-triple" 
"aarch64{{(-unknown-unknown)?}}"{{.*}} "-target-cpu" "generic"
 
 // RUN: %clang --target=arm64 -mcpu=cortex-a75 -### -c %s 2>&1 | FileCheck 
-check-prefix=ARM64-CORTEX-A75 %s
 // RUN: %clang --target=arm64 -mlittle-endian -mcpu=cortex-a75 -### -c %s 2>&1 
| FileCheck -check-prefix=ARM64-CORTEX-A75 %s
diff --git a/clang/test/Driver/aarch64-cortex-a76.c 
b/clang/test/Driver/aarch64-cortex-a76.c
index 6a4575e01a267..ced92cdf6f82d 100644
--- a/clang/test/Driver/aarch64-cortex-a76.c
+++ b/clang/test/Driver/aarch64-cortex-a76.c
@@ -4,8 +4,8 @@
 // RUN: %clang --target=aarch64 -mtune=cortex-a76 -### -c %s 2>&1 | FileCheck 
-check-prefix=CORTEX-A76-TUNE %s
 // RUN: %clang --target=aarch64 -mlittle-endian -mtune=cortex-a76 -### -c %s 
2>&1 | FileCheck -check-prefix=CORTEX-A7...
[truncated]

``````````

</details>


https://github.com/llvm/llvm-project/pull/201869
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to