mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-11-04 05:17:07 +00:00 
			
		
		
		
	The enum names as well as order (i.e. value) had skewed, which means that consumers of the tablegen-ed table would see different values than intended. Make both files have a superset of enums, and add classification as needed for numMCOperands. Reviewed by Owen Anderson git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134905 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			85 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			85 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
//===-- EDInfo.h - LLVM Enhanced Disassembler -------------------*- C++ -*-===//
 | 
						|
//
 | 
						|
//                     The LLVM Compiler Infrastructure
 | 
						|
//
 | 
						|
// This file is distributed under the University of Illinois Open Source
 | 
						|
// License. See LICENSE.TXT for details.
 | 
						|
// 
 | 
						|
//===----------------------------------------------------------------------===//
 | 
						|
 | 
						|
#ifndef LLVM_EDINFO_H
 | 
						|
#define LLVM_EDINFO_H
 | 
						|
 | 
						|
enum {
 | 
						|
  EDIS_MAX_OPERANDS = 13,
 | 
						|
  EDIS_MAX_SYNTAXES = 2
 | 
						|
};
 | 
						|
 | 
						|
enum OperandTypes {
 | 
						|
  kOperandTypeNone,
 | 
						|
  kOperandTypeImmediate,
 | 
						|
  kOperandTypeRegister,
 | 
						|
  kOperandTypeX86Memory,
 | 
						|
  kOperandTypeX86EffectiveAddress,
 | 
						|
  kOperandTypeX86PCRelative,
 | 
						|
  kOperandTypeARMBranchTarget,
 | 
						|
  kOperandTypeARMSoReg,
 | 
						|
  kOperandTypeARMSoImm,
 | 
						|
  kOperandTypeARMRotImm,
 | 
						|
  kOperandTypeARMSoImm2Part,
 | 
						|
  kOperandTypeARMPredicate,
 | 
						|
  kOperandTypeAddrModeImm12,
 | 
						|
  kOperandTypeLdStSOReg,
 | 
						|
  kOperandTypeARMAddrMode2,
 | 
						|
  kOperandTypeARMAddrMode2Offset,
 | 
						|
  kOperandTypeARMAddrMode3,
 | 
						|
  kOperandTypeARMAddrMode3Offset,
 | 
						|
  kOperandTypeARMAddrMode4,
 | 
						|
  kOperandTypeARMAddrMode5,
 | 
						|
  kOperandTypeARMAddrMode6,
 | 
						|
  kOperandTypeARMAddrMode6Offset,
 | 
						|
  kOperandTypeARMAddrMode7,
 | 
						|
  kOperandTypeARMAddrModePC,
 | 
						|
  kOperandTypeARMRegisterList,
 | 
						|
  kOperandTypeARMDPRRegisterList,
 | 
						|
  kOperandTypeARMSPRRegisterList,
 | 
						|
  kOperandTypeARMTBAddrMode,
 | 
						|
  kOperandTypeThumbITMask,
 | 
						|
  kOperandTypeThumbAddrModeRegS1,
 | 
						|
  kOperandTypeThumbAddrModeRegS2,
 | 
						|
  kOperandTypeThumbAddrModeRegS4,
 | 
						|
  kOperandTypeThumbAddrModeImmS1,
 | 
						|
  kOperandTypeThumbAddrModeImmS2,
 | 
						|
  kOperandTypeThumbAddrModeImmS4,
 | 
						|
  kOperandTypeThumbAddrModeRR,
 | 
						|
  kOperandTypeThumbAddrModeSP,
 | 
						|
  kOperandTypeThumbAddrModePC,
 | 
						|
  kOperandTypeThumb2AddrModeReg,
 | 
						|
  kOperandTypeThumb2SoReg,
 | 
						|
  kOperandTypeThumb2SoImm,
 | 
						|
  kOperandTypeThumb2AddrModeImm8,
 | 
						|
  kOperandTypeThumb2AddrModeImm8Offset,
 | 
						|
  kOperandTypeThumb2AddrModeImm12,
 | 
						|
  kOperandTypeThumb2AddrModeSoReg,
 | 
						|
  kOperandTypeThumb2AddrModeImm8s4,
 | 
						|
  kOperandTypeThumb2AddrModeImm8s4Offset
 | 
						|
};
 | 
						|
 | 
						|
enum OperandFlags {
 | 
						|
  kOperandFlagSource = 0x1,
 | 
						|
  kOperandFlagTarget = 0x2
 | 
						|
};
 | 
						|
 | 
						|
enum InstructionTypes {
 | 
						|
  kInstructionTypeNone,
 | 
						|
  kInstructionTypeMove,
 | 
						|
  kInstructionTypeBranch,
 | 
						|
  kInstructionTypePush,
 | 
						|
  kInstructionTypePop,
 | 
						|
  kInstructionTypeCall,
 | 
						|
  kInstructionTypeReturn
 | 
						|
};
 | 
						|
 | 
						|
 | 
						|
#endif
 |