#ifndef LLVM_LIB_TARGET_MIPS_MCTARGETDESC_MIPSBASEINFO_H
#define LLVM_LIB_TARGET_MIPS_MCTARGETDESC_MIPSBASEINFO_H
#include "MipsFixupKinds.h"
#include "MipsMCTargetDesc.h"
#include "llvm/MC/MCExpr.h"
#include "llvm/MC/MCInstrDesc.h"
#include "llvm/Support/DataTypes.h"
#include "llvm/Support/ErrorHandling.h"
namespace llvm {
namespace MipsII {
enum TOF {
MO_NO_FLAG,
MO_GOT,
MO_GOT_CALL,
MO_GPREL,
MO_ABS_HI,
MO_ABS_LO,
MO_TLSGD,
MO_TLSLDM,
MO_DTPREL_HI,
MO_DTPREL_LO,
MO_GOTTPREL,
MO_TPREL_HI,
MO_TPREL_LO,
MO_GPOFF_HI,
MO_GPOFF_LO,
MO_GOT_DISP,
MO_GOT_PAGE,
MO_GOT_OFST,
MO_HIGHER,
MO_HIGHEST,
MO_GOT_HI16,
MO_GOT_LO16,
MO_CALL_HI16,
MO_CALL_LO16,
MO_JALR
};
enum {
Pseudo = 0,
FrmR = 1,
FrmI = 2,
FrmJ = 3,
FrmFR = 4,
FrmFI = 5,
FrmOther = 6,
FormMask = 15,
IsCTI = 1 << 4,
HasForbiddenSlot = 1 << 5,
HasFCCRegOperand = 1 << 6
};
enum OperandType : unsigned {
OPERAND_FIRST_MIPS_MEM_IMM = MCOI::OPERAND_FIRST_TARGET,
OPERAND_MEM_SIMM9 = OPERAND_FIRST_MIPS_MEM_IMM,
OPERAND_LAST_MIPS_MEM_IMM = OPERAND_MEM_SIMM9
};
}
}
#endif