Mercurial > hg > CbC > CbC_llvm
view llvm/lib/Target/Hexagon/HexagonDepArch.h @ 266:00f31e85ec16 default tip
Added tag current for changeset 31d058e83c98
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 14 Oct 2023 10:13:55 +0900 |
parents | 1f2b6ac9f198 |
children |
line wrap: on
line source
//===----------------------------------------------------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #ifndef LLVM_LIB_TARGET_HEXAGON_HEXAGONDEPARCH_H #define LLVM_LIB_TARGET_HEXAGON_HEXAGONDEPARCH_H #include "llvm/ADT/StringSwitch.h" #include <optional> namespace llvm { namespace Hexagon { enum class ArchEnum { NoArch, Generic, V5, V55, V60, V62, V65, V66, V67, V68, V69, V71, V73 }; inline std::optional<Hexagon::ArchEnum> getCpu(StringRef CPU) { return StringSwitch<std::optional<Hexagon::ArchEnum>>(CPU) .Case("generic", Hexagon::ArchEnum::V5) .Case("hexagonv5", Hexagon::ArchEnum::V5) .Case("hexagonv55", Hexagon::ArchEnum::V55) .Case("hexagonv60", Hexagon::ArchEnum::V60) .Case("hexagonv62", Hexagon::ArchEnum::V62) .Case("hexagonv65", Hexagon::ArchEnum::V65) .Case("hexagonv66", Hexagon::ArchEnum::V66) .Case("hexagonv67", Hexagon::ArchEnum::V67) .Case("hexagonv67t", Hexagon::ArchEnum::V67) .Case("hexagonv68", Hexagon::ArchEnum::V68) .Case("hexagonv69", Hexagon::ArchEnum::V69) .Case("hexagonv71", Hexagon::ArchEnum::V71) .Case("hexagonv71t", Hexagon::ArchEnum::V71) .Case("hexagonv73", Hexagon::ArchEnum::V73) .Default(std::nullopt); } } // namespace Hexagon } // namespace llvm #endif // LLVM_LIB_TARGET_HEXAGON_HEXAGONDEPARCH_H