1 2 #ifndef _ORC_INSTRUCTION_H_ 3 #define _ORC_INSTRUCTION_H_ 4 5 #include <orc/orcutils.h> 6 #include <orc/orclimits.h> 7 #include <orc/orcopcode.h> 8 #include <orc/orcrule.h> 9 10 ORC_BEGIN_DECLS 11 12 /** 13 * OrcInstruction: 14 * 15 * The OrcInstruction structure has no public members 16 */ 17 struct _OrcInstruction { 18 /*< private >*/ 19 OrcStaticOpcode *opcode; 20 int dest_args[ORC_STATIC_OPCODE_N_DEST]; 21 int src_args[ORC_STATIC_OPCODE_N_SRC]; 22 23 OrcRule *rule; 24 unsigned int flags; 25 /* Source line number this instruction came from */ 26 int line; 27 }; 28 29 #define ORC_INSTRUCTION_FLAG_X2 (1<<0) 30 #define ORC_INSTRUCTION_FLAG_X4 (1<<1) 31 32 #define ORC_INSN_FLAG_INVARIANT (1<<2) 33 #define ORC_INSN_FLAG_ADDED (1<<3) 34 35 36 ORC_END_DECLS 37 38 #endif 39 40