LLVM 22.0.0git
HexagonMCTargetDesc.h File Reference
#include "llvm/MC/MCRegisterInfo.h"
#include "llvm/Support/CommandLine.h"
#include <cstdint>
#include "HexagonGenRegisterInfo.inc"
#include "HexagonGenInstrInfo.inc"
#include "HexagonGenSubtargetInfo.inc"

Go to the source code of this file.

Namespaces

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

Macros

#define Hexagon_POINTER_SIZE   4
#define Hexagon_PointerSize   (Hexagon_POINTER_SIZE)
#define Hexagon_PointerSize_Bits   (Hexagon_POINTER_SIZE * 8)
#define Hexagon_WordSize   Hexagon_PointerSize
#define Hexagon_WordSize_Bits   Hexagon_PointerSize_Bits
#define HEXAGON_LRFP_SIZE   8
#define HEXAGON_INSTR_SIZE   4
#define HEXAGON_PACKET_SIZE   4
#define HEXAGON_MAX_PACKET_SIZE   (HEXAGON_PACKET_SIZE * HEXAGON_INSTR_SIZE)
#define HEXAGON_PACKET_INNER_SIZE   2
#define HEXAGON_PACKET_OUTER_SIZE   3
#define HEXAGON_PRESHUFFLE_PACKET_SIZE   (HEXAGON_PACKET_SIZE + 3)
#define HEXAGON_GOT_SYM_NAME   "_GLOBAL_OFFSET_TABLE_"
#define GET_REGINFO_ENUM
#define GET_INSTRINFO_ENUM
#define GET_INSTRINFO_SCHED_ENUM
#define GET_INSTRINFO_MC_HELPER_DECLS
#define GET_SUBTARGETINFO_ENUM

Functions

MCInstrInfollvm::createHexagonMCInstrInfo ()
MCRegisterInfollvm::createHexagonMCRegisterInfo (StringRef TT)
StringRef llvm::Hexagon_MC::selectHexagonCPU (StringRef CPU)
FeatureBitset llvm::Hexagon_MC::completeHVXFeatures (const FeatureBitset &FB)
MCSubtargetInfollvm::Hexagon_MC::createHexagonMCSubtargetInfo (const Triple &TT, StringRef CPU, StringRef FS)
 Create a Hexagon MCSubtargetInfo instance.
MCSubtargetInfo constllvm::Hexagon_MC::getArchSubtarget (MCSubtargetInfo const *STI)
void llvm::Hexagon_MC::addArchSubtarget (MCSubtargetInfo const *STI, StringRef FS)
unsigned llvm::Hexagon_MC::GetELFFlags (const MCSubtargetInfo &STI)
llvm::ArrayRef< MCPhysRegllvm::Hexagon_MC::GetVectRegRev ()
std::optional< unsignedllvm::Hexagon_MC::getHVXVersion (const FeatureBitset &Features)
unsigned llvm::Hexagon_MC::getArchVersion (const FeatureBitset &Features)
MCCodeEmitterllvm::createHexagonMCCodeEmitter (const MCInstrInfo &MCII, MCContext &MCT)
MCAsmBackendllvm::createHexagonAsmBackend (const Target &T, const MCSubtargetInfo &STI, const MCRegisterInfo &MRI, const MCTargetOptions &Options)
std::unique_ptr< MCObjectTargetWriterllvm::createHexagonELFObjectWriter (uint8_t OSABI, StringRef CPU)
unsigned llvm::HexagonGetLastSlot ()
unsigned llvm::HexagonConvertUnits (unsigned ItinUnits, unsigned *Lanes)

Variables

cl::opt< boolllvm::HexagonDisableCompound
cl::opt< boolllvm::HexagonDisableDuplex
const InstrStage llvm::HexagonStages []

Macro Definition Documentation

◆ GET_INSTRINFO_ENUM

#define GET_INSTRINFO_ENUM

Definition at line 114 of file HexagonMCTargetDesc.h.

◆ GET_INSTRINFO_MC_HELPER_DECLS

#define GET_INSTRINFO_MC_HELPER_DECLS

Definition at line 116 of file HexagonMCTargetDesc.h.

◆ GET_INSTRINFO_SCHED_ENUM

#define GET_INSTRINFO_SCHED_ENUM

Definition at line 115 of file HexagonMCTargetDesc.h.

◆ GET_REGINFO_ENUM

#define GET_REGINFO_ENUM

Definition at line 109 of file HexagonMCTargetDesc.h.

◆ GET_SUBTARGETINFO_ENUM

#define GET_SUBTARGETINFO_ENUM

Definition at line 119 of file HexagonMCTargetDesc.h.

◆ HEXAGON_GOT_SYM_NAME

#define HEXAGON_GOT_SYM_NAME   "_GLOBAL_OFFSET_TABLE_"

◆ HEXAGON_INSTR_SIZE

#define HEXAGON_INSTR_SIZE   4

◆ HEXAGON_LRFP_SIZE

◆ HEXAGON_MAX_PACKET_SIZE

#define HEXAGON_MAX_PACKET_SIZE   (HEXAGON_PACKET_SIZE * HEXAGON_INSTR_SIZE)

Definition at line 36 of file HexagonMCTargetDesc.h.

◆ HEXAGON_PACKET_INNER_SIZE

#define HEXAGON_PACKET_INNER_SIZE   2

Definition at line 38 of file HexagonMCTargetDesc.h.

Referenced by llvm::HexagonMCInstrInfo::LoopNeedsPadding().

◆ HEXAGON_PACKET_OUTER_SIZE

#define HEXAGON_PACKET_OUTER_SIZE   3

Definition at line 39 of file HexagonMCTargetDesc.h.

Referenced by llvm::HexagonMCInstrInfo::LoopNeedsPadding().

◆ HEXAGON_PACKET_SIZE

◆ Hexagon_POINTER_SIZE

#define Hexagon_POINTER_SIZE   4

Definition at line 20 of file HexagonMCTargetDesc.h.

◆ Hexagon_PointerSize

#define Hexagon_PointerSize   (Hexagon_POINTER_SIZE)

◆ Hexagon_PointerSize_Bits

#define Hexagon_PointerSize_Bits   (Hexagon_POINTER_SIZE * 8)

Definition at line 23 of file HexagonMCTargetDesc.h.

◆ HEXAGON_PRESHUFFLE_PACKET_SIZE

#define HEXAGON_PRESHUFFLE_PACKET_SIZE   (HEXAGON_PACKET_SIZE + 3)

Definition at line 42 of file HexagonMCTargetDesc.h.

Referenced by llvm::HexagonMCInstrInfo::instruction().

◆ Hexagon_WordSize

#define Hexagon_WordSize   Hexagon_PointerSize

Definition at line 24 of file HexagonMCTargetDesc.h.

◆ Hexagon_WordSize_Bits

#define Hexagon_WordSize_Bits   Hexagon_PointerSize_Bits

Definition at line 25 of file HexagonMCTargetDesc.h.