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 <noreply@<!-- -->anthropic.com> --- 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
