Subversion Repositories QNX 8.QNX8 LLVM/Clang compiler suite

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. //===------------ llvm/MC/MCDecoderOps.h - Decoder driver -------*- C++ -*-===//
  2. //
  3. // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  4. // See https://llvm.org/LICENSE.txt for license information.
  5. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  6. //
  7. //===----------------------------------------------------------------------===//
  8. // Disassembler decoder state machine driver.
  9. //===----------------------------------------------------------------------===//
  10. #ifndef LLVM_MC_MCDECODEROPS_H
  11. #define LLVM_MC_MCDECODEROPS_H
  12.  
  13. namespace llvm {
  14.  
  15. namespace MCD {
  16. // Disassembler state machine opcodes.
  17. enum DecoderOps {
  18.   OPC_ExtractField = 1, // OPC_ExtractField(uint8_t Start, uint8_t Len)
  19.   OPC_FilterValue,      // OPC_FilterValue(uleb128 Val, uint16_t NumToSkip)
  20.   OPC_CheckField,       // OPC_CheckField(uint8_t Start, uint8_t Len,
  21.                         //                uleb128 Val, uint16_t NumToSkip)
  22.   OPC_CheckPredicate,   // OPC_CheckPredicate(uleb128 PIdx, uint16_t NumToSkip)
  23.   OPC_Decode,           // OPC_Decode(uleb128 Opcode, uleb128 DIdx)
  24.   OPC_TryDecode,        // OPC_TryDecode(uleb128 Opcode, uleb128 DIdx,
  25.                         //               uint16_t NumToSkip)
  26.   OPC_SoftFail,         // OPC_SoftFail(uleb128 PMask, uleb128 NMask)
  27.   OPC_Fail              // OPC_Fail()
  28. };
  29.  
  30. } // namespace MCD
  31. } // namespace llvm
  32.  
  33. #endif
  34.