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