LLVM 22.0.0git
XtensaTargetParser.h File Reference

This file implements a target parser to recognise Xtensa hardware features. More...

#include "llvm/TargetParser/Triple.h"
#include <vector>
#include "XtensaTargetParser.def"

Go to the source code of this file.

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
namespace  llvm::Xtensa

Macros

#define XTENSA_CPU(ENUM, NAME, FEATURES)
#define XTENSA_FEATURE(ID, STR)
#define XTENSA_CPU_ALIAS(NAME, ALTNMAME)

Enumerations

enum  llvm::Xtensa::CPUKind : unsigned { llvm::Xtensa::XTENSA_CPU , llvm::Xtensa::XTENSA_CPU }
enum  llvm::Xtensa::XtensaFeatureKind : uint64_t {
  llvm::Xtensa::XF_INVALID = 0 , llvm::Xtensa::XF_NONE = 1 , llvm::Xtensa::XF_FP = 1 << 1 , llvm::Xtensa::XF_WINDOWED = 1 << 2 ,
  llvm::Xtensa::XF_BOOLEAN = 1 << 3 , llvm::Xtensa::XF_DENSITY = 1 << 4 , llvm::Xtensa::XF_LOOP = 1 << 5 , llvm::Xtensa::XF_SEXT = 1 << 6 ,
  llvm::Xtensa::XF_NSA = 1 << 7 , llvm::Xtensa::XF_CLAMPS = 1 << 8 , llvm::Xtensa::XF_MINMAX = 1 << 9 , llvm::Xtensa::XF_MAC16 = 1 << 10 ,
  llvm::Xtensa::XF_MUL32 = 1 << 11 , llvm::Xtensa::XF_MUL32HIGH = 1 << 12 , llvm::Xtensa::XF_DIV32 = 1 << 13 , llvm::Xtensa::XF_MUL16 = 1 << 14 ,
  llvm::Xtensa::XF_DFPACCEL = 1 << 15 , llvm::Xtensa::XF_S32C1I = 1 << 16 , llvm::Xtensa::XF_THREADPTR = 1 << 17 , llvm::Xtensa::XF_EXTENDEDL32R = 1 << 18 ,
  llvm::Xtensa::XF_DATACACHE = 1 << 19 , llvm::Xtensa::XF_DEBUG = 1 << 20 , llvm::Xtensa::XF_EXCEPTION = 1 << 21 , llvm::Xtensa::XF_HIGHPRIINTERRUPTS = 1 << 22 ,
  llvm::Xtensa::XF_HIGHPRIINTERRUPTSLEVEL3 = 1 << 23 , llvm::Xtensa::XF_HIGHPRIINTERRUPTSLEVEL4 = 1 << 24 , llvm::Xtensa::XF_HIGHPRIINTERRUPTSLEVEL5 = 1 << 25 , llvm::Xtensa::XF_HIGHPRIINTERRUPTSLEVEL6 = 1 << 26 ,
  llvm::Xtensa::XF_HIGHPRIINTERRUPTSLEVEL7 = 1 << 27 , llvm::Xtensa::XF_COPROCESSOR = 1 << 28 , llvm::Xtensa::XF_INTERRUPT = 1 << 29 , llvm::Xtensa::XF_RVECTOR = 1 << 30 ,
  llvm::Xtensa::XF_TIMERS1 = 1ULL << 31 , llvm::Xtensa::XF_TIMERS2 = 1ULL << 32 , llvm::Xtensa::XF_TIMERS3 = 1ULL << 33 , llvm::Xtensa::XF_PRID = 1ULL << 34 ,
  llvm::Xtensa::XF_REGPROTECT = 1ULL << 35 , llvm::Xtensa::XF_MISCSR = 1ULL << 36
}

Functions

CPUKind llvm::Xtensa::parseCPUKind (StringRef CPU)
StringRef llvm::Xtensa::getBaseName (StringRef CPU)
void llvm::Xtensa::getCPUFeatures (StringRef CPU, SmallVectorImpl< StringRef > &Features)
void llvm::Xtensa::fillValidCPUList (SmallVectorImpl< StringRef > &Values)

Detailed Description

This file implements a target parser to recognise Xtensa hardware features.

Definition in file XtensaTargetParser.h.

Macro Definition Documentation

◆ XTENSA_CPU

#define XTENSA_CPU ( ENUM,
NAME,
FEATURES )
Value:
CK_##ENUM,
#define ENUM(Name,...)
Definition ClauseT.h:61

Definition at line 26 of file XtensaTargetParser.h.

◆ XTENSA_CPU_ALIAS

#define XTENSA_CPU_ALIAS ( NAME,
ALTNMAME )

◆ XTENSA_FEATURE

#define XTENSA_FEATURE ( ID,
STR )

Definition at line 41 of file XtensaTargetParser.h.