diff options
Diffstat (limited to 'llvm/lib/Target/Hexagon/HexagonDepArch.h')
-rw-r--r-- | llvm/lib/Target/Hexagon/HexagonDepArch.h | 39 |
1 files changed, 34 insertions, 5 deletions
diff --git a/llvm/lib/Target/Hexagon/HexagonDepArch.h b/llvm/lib/Target/Hexagon/HexagonDepArch.h index 529be7ef0ac7..45b4cf042443 100644 --- a/llvm/lib/Target/Hexagon/HexagonDepArch.h +++ b/llvm/lib/Target/Hexagon/HexagonDepArch.h @@ -5,15 +5,44 @@ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// -// Automatically generated file, please consult code owner before editing. +// Automatically generated file, do not edit! //===----------------------------------------------------------------------===// -#ifndef HEXAGON_DEP_ARCH_H -#define HEXAGON_DEP_ARCH_H +#ifndef LLVM_LIB_TARGET_HEXAGON_HEXAGONDEPARCH_H +#define LLVM_LIB_TARGET_HEXAGON_HEXAGONDEPARCH_H + +#include "llvm/ADT/ArrayRef.h" +#include "llvm/ADT/StringRef.h" +#include <map> + namespace llvm { namespace Hexagon { -enum class ArchEnum { NoArch, Generic, V5, V55, V60, V62, V65, V66 }; +enum class ArchEnum { NoArch, Generic, V5, V55, V60, V62, V65, V66, V67 }; + +static constexpr unsigned ArchValsNumArray[] = {5, 55, 60, 62, 65, 66, 67}; +static constexpr ArrayRef<unsigned> ArchValsNum(ArchValsNumArray); + +static constexpr StringLiteral ArchValsTextArray[] = { "v5", "v55", "v60", "v62", "v65", "v66", "v67" }; +static constexpr ArrayRef<StringLiteral> ArchValsText(ArchValsTextArray); + +static constexpr StringLiteral CpuValsTextArray[] = { "hexagonv5", "hexagonv55", "hexagonv60", "hexagonv62", "hexagonv65", "hexagonv66", "hexagonv67", "hexagonv67t" }; +static constexpr ArrayRef<StringLiteral> CpuValsText(CpuValsTextArray); + +static constexpr StringLiteral CpuNickTextArray[] = { "v5", "v55", "v60", "v62", "v65", "v66", "v67", "v67t" }; +static constexpr ArrayRef<StringLiteral> CpuNickText(CpuNickTextArray); + +static const std::map<std::string, ArchEnum> CpuTable{ + {"generic", Hexagon::ArchEnum::V60}, + {"hexagonv5", Hexagon::ArchEnum::V5}, + {"hexagonv55", Hexagon::ArchEnum::V55}, + {"hexagonv60", Hexagon::ArchEnum::V60}, + {"hexagonv62", Hexagon::ArchEnum::V62}, + {"hexagonv65", Hexagon::ArchEnum::V65}, + {"hexagonv66", Hexagon::ArchEnum::V66}, + {"hexagonv67", Hexagon::ArchEnum::V67}, + {"hexagonv67t", Hexagon::ArchEnum::V67}, +}; } // namespace Hexagon } // namespace llvm; -#endif // HEXAGON_DEP_ARCH_H +#endif // LLVM_LIB_TARGET_HEXAGON_HEXAGONDEPARCH_H |