//===-- RISCVBaseInfo.h - Top level definitions for RISCV MC ----*- C++ -*-===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // // This file contains small standalone enum definitions for the RISCV target // useful for the compiler back-end and the MC libraries. // //===----------------------------------------------------------------------===// #ifndef LLVM_LIB_TARGET_RISCV_MCTARGETDESC_RISCVBASEINFO_H #define LLVM_LIB_TARGET_RISCV_MCTARGETDESC_RISCVBASEINFO_H #include "RISCVMCTargetDesc.h" namespace llvm { // RISCVII - This namespace holds all of the target specific flags that // instruction info tracks. All definitions must match RISCVInstrFormats.td. namespace RISCVII { enum { InstFormatPseudo = 0, InstFormatR = 1, InstFormatI = 2, InstFormatS = 3, InstFormatSB = 4, InstFormatU = 5, InstFormatOther = 6, InstFormatMask = 15 }; enum { MO_None, MO_LO, MO_HI, MO_PCREL_HI, }; } // namespace RISCVII // Describes the predecessor/successor bits used in the FENCE instruction. namespace RISCVFenceField { enum FenceField { I = 8, O = 4, R = 2, W = 1 }; } } // namespace llvm #endif