LLVM API Documentation

MCFixedLenDisassembler.h
Go to the documentation of this file.
00001 //===-- llvm/MC/MCFixedLenDisassembler.h - Decoder driver -------*- C++ -*-===//
00002 //
00003 //                     The LLVM Compiler Infrastructure
00004 //
00005 // This file is distributed under the University of Illinois Open Source
00006 // License. See LICENSE.TXT for details.
00007 //
00008 //===----------------------------------------------------------------------===//
00009 // Fixed length disassembler decoder state machine driver.
00010 //===----------------------------------------------------------------------===//
00011 #ifndef LLVM_MC_MCFIXEDLENDISASSEMBLER_H
00012 #define LLVM_MC_MCFIXEDLENDISASSEMBLER_H
00013 
00014 namespace llvm {
00015 
00016 namespace MCD {
00017 // Disassembler state machine opcodes.
00018 enum DecoderOps {
00019   OPC_ExtractField = 1, // OPC_ExtractField(uint8_t Start, uint8_t Len)
00020   OPC_FilterValue,      // OPC_FilterValue(uleb128 Val, uint16_t NumToSkip)
00021   OPC_CheckField,       // OPC_CheckField(uint8_t Start, uint8_t Len,
00022                         //                uleb128 Val, uint16_t NumToSkip)
00023   OPC_CheckPredicate,   // OPC_CheckPredicate(uleb128 PIdx, uint16_t NumToSkip)
00024   OPC_Decode,           // OPC_Decode(uleb128 Opcode, uleb128 DIdx)
00025   OPC_SoftFail,         // OPC_SoftFail(uleb128 PMask, uleb128 NMask)
00026   OPC_Fail              // OPC_Fail()
00027 };
00028 
00029 } // namespace MCDecode
00030 } // namespace llvm
00031 
00032 #endif