| //===-- 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, |
| InstFormatB = 4, |
| InstFormatU = 5, |
| InstFormatJ = 6, |
| InstFormatOther = 7, |
| |
| 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 |