mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-11-04 05:17:07 +00:00 
			
		
		
		
	Add new unreachable instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17036 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
		@@ -82,58 +82,59 @@
 | 
			
		||||
 FIRST_TERM_INST  ( 1)
 | 
			
		||||
HANDLE_TERM_INST  ( 1, Ret        , ReturnInst)
 | 
			
		||||
HANDLE_TERM_INST  ( 2, Br         , BranchInst)
 | 
			
		||||
HANDLE_TERM_INST  ( 3, Switch, SwitchInst)
 | 
			
		||||
HANDLE_TERM_INST  ( 4, Invoke, InvokeInst)
 | 
			
		||||
HANDLE_TERM_INST  ( 5, Unwind, UnwindInst)
 | 
			
		||||
  LAST_TERM_INST  ( 5)
 | 
			
		||||
HANDLE_TERM_INST  ( 3, Switch     , SwitchInst)
 | 
			
		||||
HANDLE_TERM_INST  ( 4, Invoke     , InvokeInst)
 | 
			
		||||
HANDLE_TERM_INST  ( 5, Unwind     , UnwindInst)
 | 
			
		||||
HANDLE_TERM_INST  ( 6, Unreachable, UnreachableInst)
 | 
			
		||||
  LAST_TERM_INST  ( 6)
 | 
			
		||||
 | 
			
		||||
// Standard binary operators...
 | 
			
		||||
 FIRST_BINARY_INST( 6)
 | 
			
		||||
HANDLE_BINARY_INST( 6, Add   , BinaryOperator)
 | 
			
		||||
HANDLE_BINARY_INST( 7, Sub   , BinaryOperator)
 | 
			
		||||
HANDLE_BINARY_INST( 8, Mul   , BinaryOperator)
 | 
			
		||||
HANDLE_BINARY_INST( 9, Div   , BinaryOperator)
 | 
			
		||||
HANDLE_BINARY_INST(10, Rem   , BinaryOperator)
 | 
			
		||||
 FIRST_BINARY_INST( 7)
 | 
			
		||||
HANDLE_BINARY_INST( 7, Add   , BinaryOperator)
 | 
			
		||||
HANDLE_BINARY_INST( 8, Sub   , BinaryOperator)
 | 
			
		||||
HANDLE_BINARY_INST( 9, Mul   , BinaryOperator)
 | 
			
		||||
HANDLE_BINARY_INST(10, Div   , BinaryOperator)
 | 
			
		||||
HANDLE_BINARY_INST(11, Rem   , BinaryOperator)
 | 
			
		||||
 | 
			
		||||
// Logical operators...
 | 
			
		||||
HANDLE_BINARY_INST(11, And   , BinaryOperator)
 | 
			
		||||
HANDLE_BINARY_INST(12, Or    , BinaryOperator)
 | 
			
		||||
HANDLE_BINARY_INST(13, Xor   , BinaryOperator)
 | 
			
		||||
HANDLE_BINARY_INST(12, And   , BinaryOperator)
 | 
			
		||||
HANDLE_BINARY_INST(13, Or    , BinaryOperator)
 | 
			
		||||
HANDLE_BINARY_INST(14, Xor   , BinaryOperator)
 | 
			
		||||
 | 
			
		||||
// Binary comparison operators...
 | 
			
		||||
HANDLE_BINARY_INST(14, SetEQ , SetCondInst)
 | 
			
		||||
HANDLE_BINARY_INST(15, SetNE , SetCondInst)
 | 
			
		||||
HANDLE_BINARY_INST(16, SetLE , SetCondInst)
 | 
			
		||||
HANDLE_BINARY_INST(17, SetGE , SetCondInst)
 | 
			
		||||
HANDLE_BINARY_INST(18, SetLT , SetCondInst)
 | 
			
		||||
HANDLE_BINARY_INST(19, SetGT , SetCondInst)
 | 
			
		||||
  LAST_BINARY_INST(19)
 | 
			
		||||
HANDLE_BINARY_INST(15, SetEQ , SetCondInst)
 | 
			
		||||
HANDLE_BINARY_INST(16, SetNE , SetCondInst)
 | 
			
		||||
HANDLE_BINARY_INST(17, SetLE , SetCondInst)
 | 
			
		||||
HANDLE_BINARY_INST(18, SetGE , SetCondInst)
 | 
			
		||||
HANDLE_BINARY_INST(19, SetLT , SetCondInst)
 | 
			
		||||
HANDLE_BINARY_INST(20, SetGT , SetCondInst)
 | 
			
		||||
  LAST_BINARY_INST(20)
 | 
			
		||||
 | 
			
		||||
// Memory operators...
 | 
			
		||||
 FIRST_MEMORY_INST(20)
 | 
			
		||||
HANDLE_MEMORY_INST(20, Malloc, MallocInst)  // Heap management instructions
 | 
			
		||||
HANDLE_MEMORY_INST(21, Free  , FreeInst  )
 | 
			
		||||
HANDLE_MEMORY_INST(22, Alloca, AllocaInst)  // Stack management
 | 
			
		||||
HANDLE_MEMORY_INST(23, Load  , LoadInst  )  // Memory manipulation instrs
 | 
			
		||||
HANDLE_MEMORY_INST(24, Store , StoreInst )
 | 
			
		||||
HANDLE_MEMORY_INST(25, GetElementPtr, GetElementPtrInst)
 | 
			
		||||
  LAST_MEMORY_INST(25)
 | 
			
		||||
 FIRST_MEMORY_INST(21)
 | 
			
		||||
HANDLE_MEMORY_INST(21, Malloc, MallocInst)  // Heap management instructions
 | 
			
		||||
HANDLE_MEMORY_INST(22, Free  , FreeInst  )
 | 
			
		||||
HANDLE_MEMORY_INST(23, Alloca, AllocaInst)  // Stack management
 | 
			
		||||
HANDLE_MEMORY_INST(24, Load  , LoadInst  )  // Memory manipulation instrs
 | 
			
		||||
HANDLE_MEMORY_INST(25, Store , StoreInst )
 | 
			
		||||
HANDLE_MEMORY_INST(26, GetElementPtr, GetElementPtrInst)
 | 
			
		||||
  LAST_MEMORY_INST(26)
 | 
			
		||||
 | 
			
		||||
// Other operators...
 | 
			
		||||
 FIRST_OTHER_INST(26)
 | 
			
		||||
HANDLE_OTHER_INST(26, PHI    , PHINode    )  // PHI node instruction
 | 
			
		||||
HANDLE_OTHER_INST(27, Cast   , CastInst   )  // Type cast
 | 
			
		||||
HANDLE_OTHER_INST(28, Call   , CallInst   )  // Call a function
 | 
			
		||||
 FIRST_OTHER_INST(27)
 | 
			
		||||
HANDLE_OTHER_INST(27, PHI    , PHINode    )  // PHI node instruction
 | 
			
		||||
HANDLE_OTHER_INST(28, Cast   , CastInst   )  // Type cast
 | 
			
		||||
HANDLE_OTHER_INST(29, Call   , CallInst   )  // Call a function
 | 
			
		||||
 | 
			
		||||
HANDLE_OTHER_INST(29, Shl    , ShiftInst  )  // Shift operations
 | 
			
		||||
HANDLE_OTHER_INST(30, Shr    , ShiftInst  )
 | 
			
		||||
HANDLE_OTHER_INST(31, VANext , VANextInst )  // vanext instruction
 | 
			
		||||
HANDLE_OTHER_INST(32, VAArg  , VAArgInst  )  // vaarg  instruction
 | 
			
		||||
HANDLE_OTHER_INST(33, Select , SelectInst )  // select instruction
 | 
			
		||||
HANDLE_OTHER_INST(30, Shl    , ShiftInst  )  // Shift operations
 | 
			
		||||
HANDLE_OTHER_INST(31, Shr    , ShiftInst  )
 | 
			
		||||
HANDLE_OTHER_INST(32, VANext , VANextInst )  // vanext instruction
 | 
			
		||||
HANDLE_OTHER_INST(33, VAArg  , VAArgInst  )  // vaarg  instruction
 | 
			
		||||
HANDLE_OTHER_INST(34, Select , SelectInst )  // select instruction
 | 
			
		||||
 | 
			
		||||
HANDLE_OTHER_INST(34, UserOp1, Instruction)  // May be used internally in a pass
 | 
			
		||||
HANDLE_OTHER_INST(35, UserOp2, Instruction)
 | 
			
		||||
  LAST_OTHER_INST(35)
 | 
			
		||||
HANDLE_OTHER_INST(35, UserOp1, Instruction)  // May be used internally in a pass
 | 
			
		||||
HANDLE_OTHER_INST(36, UserOp2, Instruction)
 | 
			
		||||
  LAST_OTHER_INST(36)
 | 
			
		||||
 | 
			
		||||
#undef  FIRST_TERM_INST
 | 
			
		||||
#undef HANDLE_TERM_INST
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user