Mercurial > hg > CbC > CbC_llvm
diff llvm/lib/Target/Hexagon/HexagonDepArch.h @ 150:1d019706d866
LLVM10
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 15:10:13 +0900 |
parents | |
children | 2e18cbf3894f |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/llvm/lib/Target/Hexagon/HexagonDepArch.h Thu Feb 13 15:10:13 2020 +0900 @@ -0,0 +1,48 @@ +//===----------------------------------------------------------------------===// +// +// 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 +// +//===----------------------------------------------------------------------===// +// Automatically generated file, do not edit! +//===----------------------------------------------------------------------===// + + +#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, 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 // LLVM_LIB_TARGET_HEXAGON_HEXAGONDEPARCH_H