14 #ifndef LLVM_LIB_TARGET_HEXAGON_MCTARGETDESC_HEXAGONMCTARGETDESC_H 15 #define LLVM_LIB_TARGET_HEXAGON_MCTARGETDESC_HEXAGONMCTARGETDESC_H 21 #define Hexagon_POINTER_SIZE 4 23 #define Hexagon_PointerSize (Hexagon_POINTER_SIZE) 24 #define Hexagon_PointerSize_Bits (Hexagon_POINTER_SIZE * 8) 25 #define Hexagon_WordSize Hexagon_PointerSize 26 #define Hexagon_WordSize_Bits Hexagon_PointerSize_Bits 30 #define HEXAGON_LRFP_SIZE 8 33 #define HEXAGON_INSTR_SIZE 4 36 #define HEXAGON_PACKET_SIZE 4 37 #define HEXAGON_MAX_PACKET_SIZE (HEXAGON_PACKET_SIZE * HEXAGON_INSTR_SIZE) 39 #define HEXAGON_PACKET_INNER_SIZE 2 40 #define HEXAGON_PACKET_OUTER_SIZE 3 43 #define HEXAGON_PRESHUFFLE_PACKET_SIZE (HEXAGON_PACKET_SIZE + 3) 46 #define HEXAGON_GOT_SYM_NAME "_GLOBAL_OFFSET_TABLE_" 50 struct InstrItinerary;
57 class MCObjectTargetWriter;
59 class MCSubtargetInfo;
60 class MCTargetOptions;
65 class raw_pwrite_stream;
75 namespace Hexagon_MC {
95 std::unique_ptr<MCObjectTargetWriter>
105 #define GET_REGINFO_ENUM 106 #include "HexagonGenRegisterInfo.inc" 110 #define GET_INSTRINFO_ENUM 111 #define GET_INSTRINFO_SCHED_ENUM 112 #include "HexagonGenInstrInfo.inc" 114 #define GET_SUBTARGETINFO_ENUM 115 #include "HexagonGenSubtargetInfo.inc" 117 #endif // LLVM_LIB_TARGET_HEXAGON_MCTARGETDESC_HEXAGONMCTARGETDESC_H This class represents lattice values for constants.
unsigned HexagonGetLastSlot()
MCCodeEmitter * createHexagonMCCodeEmitter(const MCInstrInfo &MCII, const MCRegisterInfo &MRI, MCContext &MCT)
MCAsmBackend * createHexagonAsmBackend(const Target &T, const MCSubtargetInfo &STI, const MCRegisterInfo &MRI, const MCTargetOptions &Options)
Context object for machine code objects.
MCInstrInfo * createHexagonMCInstrInfo()
StringRef selectHexagonCPU(StringRef CPU)
MCRegisterInfo base class - We assume that the target defines a static array of MCRegisterDesc object...
unsigned const MachineRegisterInfo * MRI
Container class for subtarget features.
FeatureBitset completeHVXFeatures(const FeatureBitset &FB)
MCCodeEmitter - Generic instruction encoding interface.
Interface to description of machine instruction set.
cl::opt< bool > HexagonDisableCompound
MCSubtargetInfo * createHexagonMCSubtargetInfo(const Triple &TT, StringRef CPU, StringRef FS)
Create a Hexagon MCSubtargetInfo instance.
unsigned GetELFFlags(const MCSubtargetInfo &STI)
Triple - Helper class for working with autoconf configuration names.
std::unique_ptr< MCObjectTargetWriter > createHexagonELFObjectWriter(uint8_t OSABI, StringRef CPU)
Target - Wrapper for Target specific information.
Generic base class for all target subtargets.
const InstrStage HexagonStages[]
Generic interface to target specific assembler backends.
StringRef - Represent a constant reference to a string, i.e.
MCRegisterInfo * createHexagonMCRegisterInfo(StringRef TT)
Target & getTheHexagonTarget()
cl::opt< bool > HexagonDisableDuplex