automatically generate opcode declarations from ir_spec
[libfirm] / include / libfirm / opcodes.h
1
2 /* Warning: automatically generated code */
3 #ifndef FIRM_IR_OPCODES_H
4 #define FIRM_IR_OPCODES_H
5
6 /** The opcodes of the libFirm predefined operations. */
7 typedef enum ir_opcode {
8         iro_ASM,
9         iro_Abs,
10         iro_Add,
11         iro_Alloc,
12         iro_Anchor,
13         iro_And,
14         iro_Bad,
15         iro_Block,
16         iro_Borrow,
17         iro_Bound,
18         iro_Builtin,
19         iro_Call,
20         iro_Carry,
21         iro_Cast,
22         iro_Cmp,
23         iro_Cond,
24         iro_Confirm,
25         iro_Const,
26         iro_Conv,
27         iro_CopyB,
28         iro_Div,
29         iro_DivMod,
30         iro_Dummy,
31         iro_End,
32         iro_Eor,
33         iro_Free,
34         iro_IJmp,
35         iro_Id,
36         iro_InstOf,
37         iro_Jmp,
38         iro_Load,
39         iro_Minus,
40         iro_Mod,
41         iro_Mul,
42         iro_Mulh,
43         iro_Mux,
44         iro_NoMem,
45         iro_Not,
46         iro_Or,
47         iro_Phi,
48         iro_Pin,
49         iro_Proj,
50         iro_Quot,
51         iro_Raise,
52         iro_Return,
53         iro_Rotl,
54         iro_Sel,
55         iro_Shl,
56         iro_Shr,
57         iro_Shrs,
58         iro_Start,
59         iro_Store,
60         iro_Sub,
61         iro_SymConst,
62         iro_Sync,
63         iro_Tuple,
64         iro_Unknown,
65         iro_First = iro_ASM,
66         iro_Last = iro_Unknown,
67
68         beo_First,
69         /* backend specific nodes */
70         beo_Spill = beo_First,
71         beo_Reload,
72         beo_Perm,
73         beo_MemPerm,
74         beo_Copy,
75         beo_Keep,
76         beo_CopyKeep,
77         beo_Call,
78         beo_Return,
79         beo_AddSP,
80         beo_SubSP,
81         beo_IncSP,
82         beo_Start,
83         beo_FrameAddr,
84         beo_Barrier,
85         /* last backend node number */
86         beo_Last = beo_Barrier,
87         iro_MaxOpcode
88 } ir_opcode;
89
90
91 FIRM_API ir_op *op_ASM;
92 FIRM_API ir_op *op_Abs;
93 FIRM_API ir_op *op_Add;
94 FIRM_API ir_op *op_Alloc;
95 FIRM_API ir_op *op_Anchor;
96 FIRM_API ir_op *op_And;
97 FIRM_API ir_op *op_Bad;
98 FIRM_API ir_op *op_Block;
99 FIRM_API ir_op *op_Borrow;
100 FIRM_API ir_op *op_Bound;
101 FIRM_API ir_op *op_Builtin;
102 FIRM_API ir_op *op_Call;
103 FIRM_API ir_op *op_Carry;
104 FIRM_API ir_op *op_Cast;
105 FIRM_API ir_op *op_Cmp;
106 FIRM_API ir_op *op_Cond;
107 FIRM_API ir_op *op_Confirm;
108 FIRM_API ir_op *op_Const;
109 FIRM_API ir_op *op_Conv;
110 FIRM_API ir_op *op_CopyB;
111 FIRM_API ir_op *op_Div;
112 FIRM_API ir_op *op_DivMod;
113 FIRM_API ir_op *op_Dummy;
114 FIRM_API ir_op *op_End;
115 FIRM_API ir_op *op_Eor;
116 FIRM_API ir_op *op_Free;
117 FIRM_API ir_op *op_IJmp;
118 FIRM_API ir_op *op_Id;
119 FIRM_API ir_op *op_InstOf;
120 FIRM_API ir_op *op_Jmp;
121 FIRM_API ir_op *op_Load;
122 FIRM_API ir_op *op_Minus;
123 FIRM_API ir_op *op_Mod;
124 FIRM_API ir_op *op_Mul;
125 FIRM_API ir_op *op_Mulh;
126 FIRM_API ir_op *op_Mux;
127 FIRM_API ir_op *op_NoMem;
128 FIRM_API ir_op *op_Not;
129 FIRM_API ir_op *op_Or;
130 FIRM_API ir_op *op_Phi;
131 FIRM_API ir_op *op_Pin;
132 FIRM_API ir_op *op_Proj;
133 FIRM_API ir_op *op_Quot;
134 FIRM_API ir_op *op_Raise;
135 FIRM_API ir_op *op_Return;
136 FIRM_API ir_op *op_Rotl;
137 FIRM_API ir_op *op_Sel;
138 FIRM_API ir_op *op_Shl;
139 FIRM_API ir_op *op_Shr;
140 FIRM_API ir_op *op_Shrs;
141 FIRM_API ir_op *op_Start;
142 FIRM_API ir_op *op_Store;
143 FIRM_API ir_op *op_Sub;
144 FIRM_API ir_op *op_SymConst;
145 FIRM_API ir_op *op_Sync;
146 FIRM_API ir_op *op_Tuple;
147 FIRM_API ir_op *op_Unknown;
148
149
150 FIRM_API ir_op *get_op_ASM(void);
151 FIRM_API ir_op *get_op_Abs(void);
152 FIRM_API ir_op *get_op_Add(void);
153 FIRM_API ir_op *get_op_Alloc(void);
154 FIRM_API ir_op *get_op_Anchor(void);
155 FIRM_API ir_op *get_op_And(void);
156 FIRM_API ir_op *get_op_Bad(void);
157 FIRM_API ir_op *get_op_Block(void);
158 FIRM_API ir_op *get_op_Borrow(void);
159 FIRM_API ir_op *get_op_Bound(void);
160 FIRM_API ir_op *get_op_Builtin(void);
161 FIRM_API ir_op *get_op_Call(void);
162 FIRM_API ir_op *get_op_Carry(void);
163 FIRM_API ir_op *get_op_Cast(void);
164 FIRM_API ir_op *get_op_Cmp(void);
165 FIRM_API ir_op *get_op_Cond(void);
166 FIRM_API ir_op *get_op_Confirm(void);
167 FIRM_API ir_op *get_op_Const(void);
168 FIRM_API ir_op *get_op_Conv(void);
169 FIRM_API ir_op *get_op_CopyB(void);
170 FIRM_API ir_op *get_op_Div(void);
171 FIRM_API ir_op *get_op_DivMod(void);
172 FIRM_API ir_op *get_op_Dummy(void);
173 FIRM_API ir_op *get_op_End(void);
174 FIRM_API ir_op *get_op_Eor(void);
175 FIRM_API ir_op *get_op_Free(void);
176 FIRM_API ir_op *get_op_IJmp(void);
177 FIRM_API ir_op *get_op_Id(void);
178 FIRM_API ir_op *get_op_InstOf(void);
179 FIRM_API ir_op *get_op_Jmp(void);
180 FIRM_API ir_op *get_op_Load(void);
181 FIRM_API ir_op *get_op_Minus(void);
182 FIRM_API ir_op *get_op_Mod(void);
183 FIRM_API ir_op *get_op_Mul(void);
184 FIRM_API ir_op *get_op_Mulh(void);
185 FIRM_API ir_op *get_op_Mux(void);
186 FIRM_API ir_op *get_op_NoMem(void);
187 FIRM_API ir_op *get_op_Not(void);
188 FIRM_API ir_op *get_op_Or(void);
189 FIRM_API ir_op *get_op_Phi(void);
190 FIRM_API ir_op *get_op_Pin(void);
191 FIRM_API ir_op *get_op_Proj(void);
192 FIRM_API ir_op *get_op_Quot(void);
193 FIRM_API ir_op *get_op_Raise(void);
194 FIRM_API ir_op *get_op_Return(void);
195 FIRM_API ir_op *get_op_Rotl(void);
196 FIRM_API ir_op *get_op_Sel(void);
197 FIRM_API ir_op *get_op_Shl(void);
198 FIRM_API ir_op *get_op_Shr(void);
199 FIRM_API ir_op *get_op_Shrs(void);
200 FIRM_API ir_op *get_op_Start(void);
201 FIRM_API ir_op *get_op_Store(void);
202 FIRM_API ir_op *get_op_Sub(void);
203 FIRM_API ir_op *get_op_SymConst(void);
204 FIRM_API ir_op *get_op_Sync(void);
205 FIRM_API ir_op *get_op_Tuple(void);
206 FIRM_API ir_op *get_op_Unknown(void);
207
208 #endif