diff options
| author | orivej <[email protected]> | 2022-02-10 16:44:49 +0300 |
|---|---|---|
| committer | Daniil Cherednik <[email protected]> | 2022-02-10 16:44:49 +0300 |
| commit | 718c552901d703c502ccbefdfc3c9028d608b947 (patch) | |
| tree | 46534a98bbefcd7b1f3faa5b52c138ab27db75b7 /contrib/libs/llvm12/lib/TextAPI/MachO/Architecture.cpp | |
| parent | e9656aae26e0358d5378e5b63dcac5c8dbe0e4d0 (diff) | |
Restoring authorship annotation for <[email protected]>. Commit 1 of 2.
Diffstat (limited to 'contrib/libs/llvm12/lib/TextAPI/MachO/Architecture.cpp')
| -rw-r--r-- | contrib/libs/llvm12/lib/TextAPI/MachO/Architecture.cpp | 196 |
1 files changed, 98 insertions, 98 deletions
diff --git a/contrib/libs/llvm12/lib/TextAPI/MachO/Architecture.cpp b/contrib/libs/llvm12/lib/TextAPI/MachO/Architecture.cpp index 0c598803033..9df3a730765 100644 --- a/contrib/libs/llvm12/lib/TextAPI/MachO/Architecture.cpp +++ b/contrib/libs/llvm12/lib/TextAPI/MachO/Architecture.cpp @@ -1,98 +1,98 @@ -//===- Architecture.cpp ---------------------------------------------------===// -// -// 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 -// -//===----------------------------------------------------------------------===// -// -// Implements the architecture helper functions. -// -//===----------------------------------------------------------------------===// - -#include "llvm/TextAPI/MachO/Architecture.h" -#include "llvm/ADT/StringSwitch.h" -#include "llvm/ADT/Triple.h" -#include "llvm/BinaryFormat/MachO.h" -#include "llvm/Support/raw_ostream.h" -#include "llvm/TextAPI/MachO/ArchitectureSet.h" - -namespace llvm { -namespace MachO { - -Architecture getArchitectureFromCpuType(uint32_t CPUType, uint32_t CPUSubType) { -#define ARCHINFO(Arch, Type, Subtype, NumBits) \ - if (CPUType == (Type) && \ - (CPUSubType & ~MachO::CPU_SUBTYPE_MASK) == (Subtype)) \ - return AK_##Arch; -#include "llvm/TextAPI/MachO/Architecture.def" -#undef ARCHINFO - - return AK_unknown; -} - -Architecture getArchitectureFromName(StringRef Name) { - return StringSwitch<Architecture>(Name) -#define ARCHINFO(Arch, Type, Subtype, NumBits) .Case(#Arch, AK_##Arch) -#include "llvm/TextAPI/MachO/Architecture.def" -#undef ARCHINFO - .Default(AK_unknown); -} - -StringRef getArchitectureName(Architecture Arch) { - switch (Arch) { -#define ARCHINFO(Arch, Type, Subtype, NumBits) \ - case AK_##Arch: \ - return #Arch; -#include "llvm/TextAPI/MachO/Architecture.def" -#undef ARCHINFO - case AK_unknown: - return "unknown"; - } - - // Appease some compilers that cannot figure out that this is a fully covered - // switch statement. - return "unknown"; -} - -std::pair<uint32_t, uint32_t> getCPUTypeFromArchitecture(Architecture Arch) { - switch (Arch) { -#define ARCHINFO(Arch, Type, Subtype, NumBits) \ - case AK_##Arch: \ - return std::make_pair(Type, Subtype); -#include "llvm/TextAPI/MachO/Architecture.def" -#undef ARCHINFO - case AK_unknown: - return std::make_pair(0, 0); - } - - // Appease some compilers that cannot figure out that this is a fully covered - // switch statement. - return std::make_pair(0, 0); -} - -Architecture mapToArchitecture(const Triple &Target) { - return getArchitectureFromName(Target.getArchName()); -} - -bool is64Bit(Architecture Arch) { - switch (Arch) { -#define ARCHINFO(Arch, Type, Subtype, NumBits) \ - case AK_##Arch: \ - return NumBits == 64; -#include "llvm/TextAPI/MachO/Architecture.def" -#undef ARCHINFO - case AK_unknown: - return false; - } - - llvm_unreachable("Fully handled switch case above."); -} - -raw_ostream &operator<<(raw_ostream &OS, Architecture Arch) { - OS << getArchitectureName(Arch); - return OS; -} - -} // end namespace MachO. -} // end namespace llvm. +//===- Architecture.cpp ---------------------------------------------------===// +// +// 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 +// +//===----------------------------------------------------------------------===// +// +// Implements the architecture helper functions. +// +//===----------------------------------------------------------------------===// + +#include "llvm/TextAPI/MachO/Architecture.h" +#include "llvm/ADT/StringSwitch.h" +#include "llvm/ADT/Triple.h" +#include "llvm/BinaryFormat/MachO.h" +#include "llvm/Support/raw_ostream.h" +#include "llvm/TextAPI/MachO/ArchitectureSet.h" + +namespace llvm { +namespace MachO { + +Architecture getArchitectureFromCpuType(uint32_t CPUType, uint32_t CPUSubType) { +#define ARCHINFO(Arch, Type, Subtype, NumBits) \ + if (CPUType == (Type) && \ + (CPUSubType & ~MachO::CPU_SUBTYPE_MASK) == (Subtype)) \ + return AK_##Arch; +#include "llvm/TextAPI/MachO/Architecture.def" +#undef ARCHINFO + + return AK_unknown; +} + +Architecture getArchitectureFromName(StringRef Name) { + return StringSwitch<Architecture>(Name) +#define ARCHINFO(Arch, Type, Subtype, NumBits) .Case(#Arch, AK_##Arch) +#include "llvm/TextAPI/MachO/Architecture.def" +#undef ARCHINFO + .Default(AK_unknown); +} + +StringRef getArchitectureName(Architecture Arch) { + switch (Arch) { +#define ARCHINFO(Arch, Type, Subtype, NumBits) \ + case AK_##Arch: \ + return #Arch; +#include "llvm/TextAPI/MachO/Architecture.def" +#undef ARCHINFO + case AK_unknown: + return "unknown"; + } + + // Appease some compilers that cannot figure out that this is a fully covered + // switch statement. + return "unknown"; +} + +std::pair<uint32_t, uint32_t> getCPUTypeFromArchitecture(Architecture Arch) { + switch (Arch) { +#define ARCHINFO(Arch, Type, Subtype, NumBits) \ + case AK_##Arch: \ + return std::make_pair(Type, Subtype); +#include "llvm/TextAPI/MachO/Architecture.def" +#undef ARCHINFO + case AK_unknown: + return std::make_pair(0, 0); + } + + // Appease some compilers that cannot figure out that this is a fully covered + // switch statement. + return std::make_pair(0, 0); +} + +Architecture mapToArchitecture(const Triple &Target) { + return getArchitectureFromName(Target.getArchName()); +} + +bool is64Bit(Architecture Arch) { + switch (Arch) { +#define ARCHINFO(Arch, Type, Subtype, NumBits) \ + case AK_##Arch: \ + return NumBits == 64; +#include "llvm/TextAPI/MachO/Architecture.def" +#undef ARCHINFO + case AK_unknown: + return false; + } + + llvm_unreachable("Fully handled switch case above."); +} + +raw_ostream &operator<<(raw_ostream &OS, Architecture Arch) { + OS << getArchitectureName(Arch); + return OS; +} + +} // end namespace MachO. +} // end namespace llvm. |
