https://github.com/quic-akaryaki updated https://github.com/llvm/llvm-project/pull/237318
>From b4b7711d286542f63e0df22e384d90a4c9c85036 Mon Sep 17 00:00:00 2001 From: Alexey Karyakin <[email protected]> Date: Fri, 30 Oct 2026 10:45:42 -0700 Subject: [PATCH] [Hexagon] NFC: Refactor repetitive code in getTargetDefines Signed-off-by: Alexey Karyakin <[email protected]> --- clang/lib/Basic/Targets/Hexagon.cpp | 77 ++++++----------------------- 1 file changed, 16 insertions(+), 61 deletions(-) diff --git a/clang/lib/Basic/Targets/Hexagon.cpp b/clang/lib/Basic/Targets/Hexagon.cpp index 615114f0fd1ea1..b905db0517d2e8 100644 --- a/clang/lib/Basic/Targets/Hexagon.cpp +++ b/clang/lib/Basic/Targets/Hexagon.cpp @@ -26,67 +26,22 @@ void HexagonTargetInfo::getTargetDefines(const LangOptions &Opts, // The macro __HVXDBL__ is deprecated. bool DefineHvxDbl = false; - if (CPU == "hexagonv5") { - Builder.defineMacro("__HEXAGON_V5__"); - Builder.defineMacro("__HEXAGON_ARCH__", "5"); - if (Opts.HexagonQdsp6Compat) { - Builder.defineMacro("__QDSP6_V5__"); - Builder.defineMacro("__QDSP6_ARCH__", "5"); - } - } else if (CPU == "hexagonv55") { - Builder.defineMacro("__HEXAGON_V55__"); - Builder.defineMacro("__HEXAGON_ARCH__", "55"); - Builder.defineMacro("__QDSP6_V55__"); - Builder.defineMacro("__QDSP6_ARCH__", "55"); - } else if (CPU == "hexagonv60") { - DefineHvxDbl = true; - Builder.defineMacro("__HEXAGON_V60__"); - Builder.defineMacro("__HEXAGON_ARCH__", "60"); - Builder.defineMacro("__QDSP6_V60__"); - Builder.defineMacro("__QDSP6_ARCH__", "60"); - } else if (CPU == "hexagonv62") { - DefineHvxDbl = true; - Builder.defineMacro("__HEXAGON_V62__"); - Builder.defineMacro("__HEXAGON_ARCH__", "62"); - } else if (CPU == "hexagonv65") { - DefineHvxDbl = true; - Builder.defineMacro("__HEXAGON_V65__"); - Builder.defineMacro("__HEXAGON_ARCH__", "65"); - } else if (CPU == "hexagonv66") { - DefineHvxDbl = true; - Builder.defineMacro("__HEXAGON_V66__"); - Builder.defineMacro("__HEXAGON_ARCH__", "66"); - } else if (CPU == "hexagonv67") { - Builder.defineMacro("__HEXAGON_V67__"); - Builder.defineMacro("__HEXAGON_ARCH__", "67"); - } else if (CPU == "hexagonv67t") { - Builder.defineMacro("__HEXAGON_V67T__"); - Builder.defineMacro("__HEXAGON_ARCH__", "67"); - } else if (CPU == "hexagonv68") { - Builder.defineMacro("__HEXAGON_V68__"); - Builder.defineMacro("__HEXAGON_ARCH__", "68"); - } else if (CPU == "hexagonv69") { - Builder.defineMacro("__HEXAGON_V69__"); - Builder.defineMacro("__HEXAGON_ARCH__", "69"); - } else if (CPU == "hexagonv71") { - Builder.defineMacro("__HEXAGON_V71__"); - Builder.defineMacro("__HEXAGON_ARCH__", "71"); - } else if (CPU == "hexagonv71t") { - Builder.defineMacro("__HEXAGON_V71T__"); - Builder.defineMacro("__HEXAGON_ARCH__", "71"); - } else if (CPU == "hexagonv73") { - Builder.defineMacro("__HEXAGON_V73__"); - Builder.defineMacro("__HEXAGON_ARCH__", "73"); - } else if (CPU == "hexagonv75") { - Builder.defineMacro("__HEXAGON_V75__"); - Builder.defineMacro("__HEXAGON_ARCH__", "75"); - } else if (CPU == "hexagonv79") { - Builder.defineMacro("__HEXAGON_V79__"); - Builder.defineMacro("__HEXAGON_ARCH__", "79"); - } else if (CPU == "hexagonv81") { - Builder.defineMacro("__HEXAGON_V81__"); - Builder.defineMacro("__HEXAGON_ARCH__", "81"); - } + StringRef CPUSuffix = CPU; + if (!CPUSuffix.consume_front("hexagonv")) + return; + + StringRef ArchVersion = CPUSuffix; + ArchVersion.consume_back("t"); + + auto DefineArchMacros = [=, &Builder](StringRef Prefix) { + Builder.defineMacro(Prefix + "V" + CPUSuffix.upper() + "__"); + Builder.defineMacro(Prefix + "ARCH__", ArchVersion); + }; + + DefineArchMacros("__HEXAGON_"); + if ((Opts.HexagonQdsp6Compat && ArchVersion == "5") || ArchVersion == "55" || + ArchVersion == "60") + DefineArchMacros("__QDSP6_"); if (hasFeature("hvx-length64b")) { Builder.defineMacro("__HVX__"); _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
