From ef9421dcf15fcd21ba121670ac0c7c7af15bc80f Mon Sep 17 00:00:00 2001 From: Weining Lu Date: Tue, 18 Jul 2023 10:59:27 +0800 Subject: [PATCH] [LoongArch] Remove useless 'invalid' and 'none' feature and arch names. NFC --- clang/lib/Driver/ToolChains/Arch/LoongArch.cpp | 4 +--- llvm/include/llvm/TargetParser/LoongArchTargetParser.def | 3 --- llvm/include/llvm/TargetParser/LoongArchTargetParser.h | 5 +---- llvm/lib/TargetParser/LoongArchTargetParser.cpp | 11 +++++------ 4 files changed, 7 insertions(+), 16 deletions(-) diff --git a/clang/lib/Driver/ToolChains/Arch/LoongArch.cpp b/clang/lib/Driver/ToolChains/Arch/LoongArch.cpp index fe880f7..856ad58 100644 --- a/clang/lib/Driver/ToolChains/Arch/LoongArch.cpp +++ b/clang/lib/Driver/ToolChains/Arch/LoongArch.cpp @@ -127,10 +127,8 @@ void loongarch::getLoongArchTargetFeatures(const Driver &D, const ArgList &Args, std::vector &Features) { StringRef ArchName; - llvm::LoongArch::ArchKind ArchKind = llvm::LoongArch::ArchKind::AK_INVALID; if (const Arg *A = Args.getLastArg(options::OPT_march_EQ)) { - ArchKind = llvm::LoongArch::parseArch(A->getValue()); - if (ArchKind == llvm::LoongArch::ArchKind::AK_INVALID) { + if (!llvm::LoongArch::isValidArchName(A->getValue())) { D.Diag(clang::diag::err_drv_invalid_arch_name) << A->getAsString(Args); return; } diff --git a/llvm/include/llvm/TargetParser/LoongArchTargetParser.def b/llvm/include/llvm/TargetParser/LoongArchTargetParser.def index 5245d75..b20d124 100644 --- a/llvm/include/llvm/TargetParser/LoongArchTargetParser.def +++ b/llvm/include/llvm/TargetParser/LoongArchTargetParser.def @@ -2,8 +2,6 @@ #define LOONGARCH_FEATURE(NAME, KIND) #endif -LOONGARCH_FEATURE("invalid", FK_INVALID) -LOONGARCH_FEATURE("none", FK_NONE) LOONGARCH_FEATURE("+64bit", FK_64BIT) LOONGARCH_FEATURE("+f", FK_FP32) LOONGARCH_FEATURE("+d", FK_FP64) @@ -19,7 +17,6 @@ LOONGARCH_FEATURE("+ual", FK_UAL) #define LOONGARCH_ARCH(NAME, KIND, FEATURES) #endif -LOONGARCH_ARCH("invalid", AK_INVALID, FK_INVALID) LOONGARCH_ARCH("loongarch64", AK_LOONGARCH64, FK_64BIT | FK_FP32 | FK_FP64 | FK_UAL) LOONGARCH_ARCH("la464", AK_LA464, FK_64BIT | FK_FP32 | FK_FP64 | FK_LSX | FK_LASX | FK_UAL) diff --git a/llvm/include/llvm/TargetParser/LoongArchTargetParser.h b/llvm/include/llvm/TargetParser/LoongArchTargetParser.h index ff325a7..2aa65ec 100644 --- a/llvm/include/llvm/TargetParser/LoongArchTargetParser.h +++ b/llvm/include/llvm/TargetParser/LoongArchTargetParser.h @@ -23,9 +23,6 @@ class StringRef; namespace LoongArch { enum FeatureKind : uint32_t { - FK_INVALID = 0, - FK_NONE = 1, - // 64-bit ISA is available. FK_64BIT = 1 << 1, @@ -67,7 +64,7 @@ struct ArchInfo { uint32_t Features; }; -ArchKind parseArch(StringRef Arch); +bool isValidArchName(StringRef Arch); bool getArchFeatures(StringRef Arch, std::vector &Features); } // namespace LoongArch diff --git a/llvm/lib/TargetParser/LoongArchTargetParser.cpp b/llvm/lib/TargetParser/LoongArchTargetParser.cpp index faa8c31..18b0460 100644 --- a/llvm/lib/TargetParser/LoongArchTargetParser.cpp +++ b/llvm/lib/TargetParser/LoongArchTargetParser.cpp @@ -1,4 +1,4 @@ -//==-- LoongArch64TargetParser - Parser for LoongArch64 features --*- C++ -*-=// +//===-- LoongArchTargetParser - Parser for LoongArch features --*- C++ -*-====// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. @@ -27,12 +27,11 @@ const ArchInfo AllArchs[] = { #include "llvm/TargetParser/LoongArchTargetParser.def" }; -LoongArch::ArchKind LoongArch::parseArch(StringRef Arch) { +bool LoongArch::isValidArchName(StringRef Arch) { for (const auto A : AllArchs) if (A.Name == Arch) - return A.Kind; - - return LoongArch::ArchKind::AK_INVALID; + return true; + return false; } bool LoongArch::getArchFeatures(StringRef Arch, @@ -40,7 +39,7 @@ bool LoongArch::getArchFeatures(StringRef Arch, for (const auto A : AllArchs) { if (A.Name == Arch) { for (const auto F : AllFeatures) - if ((A.Features & F.Kind) == F.Kind && F.Kind != FK_INVALID) + if ((A.Features & F.Kind) == F.Kind) Features.push_back(F.Name); return true; } -- 2.7.4