15 #ifndef LLVM_LIB_TARGET_HEXAGON_HEXAGON_H
16 #define LLVM_LIB_TARGET_HEXAGON_HEXAGON_H
18 #define Hexagon_POINTER_SIZE 4
20 #define Hexagon_PointerSize (Hexagon_POINTER_SIZE)
21 #define Hexagon_PointerSize_Bits (Hexagon_POINTER_SIZE * 8)
22 #define Hexagon_WordSize Hexagon_PointerSize
23 #define Hexagon_WordSize_Bits Hexagon_PointerSize_Bits
27 #define HEXAGON_LRFP_SIZE 8
30 #define HEXAGON_INSTR_SIZE 4
33 #define HEXAGON_PACKET_SIZE 4
34 #define HEXAGON_MAX_PACKET_SIZE (HEXAGON_PACKET_SIZE * HEXAGON_INSTR_SIZE)
36 #define HEXAGON_PACKET_INNER_SIZE 2
37 #define HEXAGON_PACKET_OUTER_SIZE 3
40 #define HEXAGON_PRESHUFFLE_PACKET_SIZE (HEXAGON_PACKET_SIZE + 3)
43 #define HEXAGON_GOT_SYM_NAME "_GLOBAL_OFFSET_TABLE_"
53 class HexagonAsmPrinter;
54 class HexagonTargetMachine;
57 HexagonAsmPrinter &AP);
void HexagonLowerToMC(const MachineInstr *MI, MCInst &MCI, HexagonAsmPrinter &AP)
ImmutablePass * createHexagonTargetTransformInfoPass(const HexagonTargetMachine *TM)
Creates a Hexagon-specific Target Transformation Info pass.
This file describes how to lower LLVM code to machine code.