28#define XTENSA_FEATURE(ID, NAME) {{NAME}, ID},
29#include "llvm/TargetParser/XtensaTargetParser.def"
34#define XTENSA_CPU(ENUM, NAME, FEATURES) {{NAME}, {CK_##ENUM, FEATURES}},
35#include "llvm/TargetParser/XtensaTargetParser.def"
41#define XTENSA_CPU_ALIAS(NAME, ANAME) .Case(ANAME, NAME)
42#include "llvm/TargetParser/XtensaTargetParser.def"
48#define XTENSA_CPU_ALIAS(NAME, ANAME) .Case(NAME, ANAME)
49#include "llvm/TargetParser/XtensaTargetParser.def"
57 return C.value().Kind;
70 if ((Bits &
F.value()) ==
F.value())
71 Features.push_back(
F.name());
78 if (
C.value().Kind != CK_INVALID) {
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
#define BUILD_ENUM_STRINGS(Tab)
This file implements the StringSwitch template, which mimics a switch() statement whose cases are str...
This file implements a target parser to recognise Xtensa hardware features.
Represent a constant reference to a string, i.e.
A switch()-like statement whose cases are string literals.
@ C
The default llvm calling convention, compatible with C.
LLVM_ABI StringRef getBaseName(StringRef CPU)
LLVM_ABI void fillValidCPUList(SmallVectorImpl< StringRef > &Values)
constexpr EnumStringDef< CPUInfo > CPUInfoDefs[]
constexpr auto FeatureNames
constexpr EnumStringDef< uint64_t > FeatureNameDefs[]
StringRef getAliasName(StringRef CPU)
LLVM_ABI void getCPUFeatures(StringRef CPU, SmallVectorImpl< StringRef > &Features)
LLVM_ABI CPUKind parseCPUKind(StringRef CPU)
This is an optimization pass for GlobalISel generic memory operations.
RelativeUniformCounterPtr Values
auto find_if(R &&Range, UnaryPredicate P)
Provide wrappers to std::find_if which take ranges instead of having to pass begin/end explicitly.
Compile-time data representation of enum entries.