1 /* Warning: automatically generated code */
2 #ifndef FIRM_IR_OPCODES_H
3 #define FIRM_IR_OPCODES_H
4 
5 /** The opcodes of the libFirm predefined operations.
6  * @ingroup ir_op
7  */
8 typedef enum ir_opcode {
9 	iro_ASM,
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_Deleted,
29 	iro_Div,
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_Raise,
51 	iro_Return,
52 	iro_Rotl,
53 	iro_Sel,
54 	iro_Shl,
55 	iro_Shr,
56 	iro_Shrs,
57 	iro_Start,
58 	iro_Store,
59 	iro_Sub,
60 	iro_Switch,
61 	iro_SymConst,
62 	iro_Sync,
63 	iro_Tuple,
64 	iro_Unknown,
65 	iro_First = iro_ASM,
66 	iro_Last  = iro_Unknown,
67 	beo_First,
68 	/* backend specific nodes */
69 	beo_Spill = beo_First,
70 	beo_Reload,
71 	beo_Perm,
72 	beo_MemPerm,
73 	beo_Copy,
74 	beo_Keep,
75 	beo_CopyKeep,
76 	beo_Call,
77 	beo_Return,
78 	beo_AddSP,
79 	beo_SubSP,
80 	beo_IncSP,
81 	beo_Start,
82 	beo_FrameAddr,
83 	/* last backend node number */
84 	beo_Last = beo_FrameAddr,
85 	iro_MaxOpcode
86 } ir_opcode;
87 
88 
89 /**
90  * @ingroup ASM
91  * ASM opcode
92  */
93 FIRM_API ir_op *op_ASM;
94 /**
95  * @ingroup Add
96  * Add opcode
97  */
98 FIRM_API ir_op *op_Add;
99 /**
100  * @ingroup Alloc
101  * Alloc opcode
102  */
103 FIRM_API ir_op *op_Alloc;
104 /**
105  * @ingroup Anchor
106  * Anchor opcode
107  */
108 FIRM_API ir_op *op_Anchor;
109 /**
110  * @ingroup And
111  * And opcode
112  */
113 FIRM_API ir_op *op_And;
114 /**
115  * @ingroup Bad
116  * Bad opcode
117  */
118 FIRM_API ir_op *op_Bad;
119 /**
120  * @ingroup Block
121  * Block opcode
122  */
123 FIRM_API ir_op *op_Block;
124 /**
125  * @ingroup Borrow
126  * Borrow opcode
127  */
128 FIRM_API ir_op *op_Borrow;
129 /**
130  * @ingroup Bound
131  * Bound opcode
132  */
133 FIRM_API ir_op *op_Bound;
134 /**
135  * @ingroup Builtin
136  * Builtin opcode
137  */
138 FIRM_API ir_op *op_Builtin;
139 /**
140  * @ingroup Call
141  * Call opcode
142  */
143 FIRM_API ir_op *op_Call;
144 /**
145  * @ingroup Carry
146  * Carry opcode
147  */
148 FIRM_API ir_op *op_Carry;
149 /**
150  * @ingroup Cast
151  * Cast opcode
152  */
153 FIRM_API ir_op *op_Cast;
154 /**
155  * @ingroup Cmp
156  * Cmp opcode
157  */
158 FIRM_API ir_op *op_Cmp;
159 /**
160  * @ingroup Cond
161  * Cond opcode
162  */
163 FIRM_API ir_op *op_Cond;
164 /**
165  * @ingroup Confirm
166  * Confirm opcode
167  */
168 FIRM_API ir_op *op_Confirm;
169 /**
170  * @ingroup Const
171  * Const opcode
172  */
173 FIRM_API ir_op *op_Const;
174 /**
175  * @ingroup Conv
176  * Conv opcode
177  */
178 FIRM_API ir_op *op_Conv;
179 /**
180  * @ingroup CopyB
181  * CopyB opcode
182  */
183 FIRM_API ir_op *op_CopyB;
184 /**
185  * @ingroup Deleted
186  * Deleted opcode
187  */
188 FIRM_API ir_op *op_Deleted;
189 /**
190  * @ingroup Div
191  * Div opcode
192  */
193 FIRM_API ir_op *op_Div;
194 /**
195  * @ingroup Dummy
196  * Dummy opcode
197  */
198 FIRM_API ir_op *op_Dummy;
199 /**
200  * @ingroup End
201  * End opcode
202  */
203 FIRM_API ir_op *op_End;
204 /**
205  * @ingroup Eor
206  * Eor opcode
207  */
208 FIRM_API ir_op *op_Eor;
209 /**
210  * @ingroup Free
211  * Free opcode
212  */
213 FIRM_API ir_op *op_Free;
214 /**
215  * @ingroup IJmp
216  * IJmp opcode
217  */
218 FIRM_API ir_op *op_IJmp;
219 /**
220  * @ingroup Id
221  * Id opcode
222  */
223 FIRM_API ir_op *op_Id;
224 /**
225  * @ingroup InstOf
226  * InstOf opcode
227  */
228 FIRM_API ir_op *op_InstOf;
229 /**
230  * @ingroup Jmp
231  * Jmp opcode
232  */
233 FIRM_API ir_op *op_Jmp;
234 /**
235  * @ingroup Load
236  * Load opcode
237  */
238 FIRM_API ir_op *op_Load;
239 /**
240  * @ingroup Minus
241  * Minus opcode
242  */
243 FIRM_API ir_op *op_Minus;
244 /**
245  * @ingroup Mod
246  * Mod opcode
247  */
248 FIRM_API ir_op *op_Mod;
249 /**
250  * @ingroup Mul
251  * Mul opcode
252  */
253 FIRM_API ir_op *op_Mul;
254 /**
255  * @ingroup Mulh
256  * Mulh opcode
257  */
258 FIRM_API ir_op *op_Mulh;
259 /**
260  * @ingroup Mux
261  * Mux opcode
262  */
263 FIRM_API ir_op *op_Mux;
264 /**
265  * @ingroup NoMem
266  * NoMem opcode
267  */
268 FIRM_API ir_op *op_NoMem;
269 /**
270  * @ingroup Not
271  * Not opcode
272  */
273 FIRM_API ir_op *op_Not;
274 /**
275  * @ingroup Or
276  * Or opcode
277  */
278 FIRM_API ir_op *op_Or;
279 /**
280  * @ingroup Phi
281  * Phi opcode
282  */
283 FIRM_API ir_op *op_Phi;
284 /**
285  * @ingroup Pin
286  * Pin opcode
287  */
288 FIRM_API ir_op *op_Pin;
289 /**
290  * @ingroup Proj
291  * Proj opcode
292  */
293 FIRM_API ir_op *op_Proj;
294 /**
295  * @ingroup Raise
296  * Raise opcode
297  */
298 FIRM_API ir_op *op_Raise;
299 /**
300  * @ingroup Return
301  * Return opcode
302  */
303 FIRM_API ir_op *op_Return;
304 /**
305  * @ingroup Rotl
306  * Rotl opcode
307  */
308 FIRM_API ir_op *op_Rotl;
309 /**
310  * @ingroup Sel
311  * Sel opcode
312  */
313 FIRM_API ir_op *op_Sel;
314 /**
315  * @ingroup Shl
316  * Shl opcode
317  */
318 FIRM_API ir_op *op_Shl;
319 /**
320  * @ingroup Shr
321  * Shr opcode
322  */
323 FIRM_API ir_op *op_Shr;
324 /**
325  * @ingroup Shrs
326  * Shrs opcode
327  */
328 FIRM_API ir_op *op_Shrs;
329 /**
330  * @ingroup Start
331  * Start opcode
332  */
333 FIRM_API ir_op *op_Start;
334 /**
335  * @ingroup Store
336  * Store opcode
337  */
338 FIRM_API ir_op *op_Store;
339 /**
340  * @ingroup Sub
341  * Sub opcode
342  */
343 FIRM_API ir_op *op_Sub;
344 /**
345  * @ingroup Switch
346  * Switch opcode
347  */
348 FIRM_API ir_op *op_Switch;
349 /**
350  * @ingroup SymConst
351  * SymConst opcode
352  */
353 FIRM_API ir_op *op_SymConst;
354 /**
355  * @ingroup Sync
356  * Sync opcode
357  */
358 FIRM_API ir_op *op_Sync;
359 /**
360  * @ingroup Tuple
361  * Tuple opcode
362  */
363 FIRM_API ir_op *op_Tuple;
364 /**
365  * @ingroup Unknown
366  * Unknown opcode
367  */
368 FIRM_API ir_op *op_Unknown;
369 
370 
371 /**
372  * @ingroup ASM
373  * Returns opcode for ASM nodes.
374  */
375 FIRM_API ir_op *get_op_ASM(void);
376 /**
377  * @ingroup Add
378  * Returns opcode for Add nodes.
379  */
380 FIRM_API ir_op *get_op_Add(void);
381 /**
382  * @ingroup Alloc
383  * Returns opcode for Alloc nodes.
384  */
385 FIRM_API ir_op *get_op_Alloc(void);
386 /**
387  * @ingroup Anchor
388  * Returns opcode for Anchor nodes.
389  */
390 FIRM_API ir_op *get_op_Anchor(void);
391 /**
392  * @ingroup And
393  * Returns opcode for And nodes.
394  */
395 FIRM_API ir_op *get_op_And(void);
396 /**
397  * @ingroup Bad
398  * Returns opcode for Bad nodes.
399  */
400 FIRM_API ir_op *get_op_Bad(void);
401 /**
402  * @ingroup Block
403  * Returns opcode for Block nodes.
404  */
405 FIRM_API ir_op *get_op_Block(void);
406 /**
407  * @ingroup Borrow
408  * Returns opcode for Borrow nodes.
409  */
410 FIRM_API ir_op *get_op_Borrow(void);
411 /**
412  * @ingroup Bound
413  * Returns opcode for Bound nodes.
414  */
415 FIRM_API ir_op *get_op_Bound(void);
416 /**
417  * @ingroup Builtin
418  * Returns opcode for Builtin nodes.
419  */
420 FIRM_API ir_op *get_op_Builtin(void);
421 /**
422  * @ingroup Call
423  * Returns opcode for Call nodes.
424  */
425 FIRM_API ir_op *get_op_Call(void);
426 /**
427  * @ingroup Carry
428  * Returns opcode for Carry nodes.
429  */
430 FIRM_API ir_op *get_op_Carry(void);
431 /**
432  * @ingroup Cast
433  * Returns opcode for Cast nodes.
434  */
435 FIRM_API ir_op *get_op_Cast(void);
436 /**
437  * @ingroup Cmp
438  * Returns opcode for Cmp nodes.
439  */
440 FIRM_API ir_op *get_op_Cmp(void);
441 /**
442  * @ingroup Cond
443  * Returns opcode for Cond nodes.
444  */
445 FIRM_API ir_op *get_op_Cond(void);
446 /**
447  * @ingroup Confirm
448  * Returns opcode for Confirm nodes.
449  */
450 FIRM_API ir_op *get_op_Confirm(void);
451 /**
452  * @ingroup Const
453  * Returns opcode for Const nodes.
454  */
455 FIRM_API ir_op *get_op_Const(void);
456 /**
457  * @ingroup Conv
458  * Returns opcode for Conv nodes.
459  */
460 FIRM_API ir_op *get_op_Conv(void);
461 /**
462  * @ingroup CopyB
463  * Returns opcode for CopyB nodes.
464  */
465 FIRM_API ir_op *get_op_CopyB(void);
466 /**
467  * @ingroup Deleted
468  * Returns opcode for Deleted nodes.
469  */
470 FIRM_API ir_op *get_op_Deleted(void);
471 /**
472  * @ingroup Div
473  * Returns opcode for Div nodes.
474  */
475 FIRM_API ir_op *get_op_Div(void);
476 /**
477  * @ingroup Dummy
478  * Returns opcode for Dummy nodes.
479  */
480 FIRM_API ir_op *get_op_Dummy(void);
481 /**
482  * @ingroup End
483  * Returns opcode for End nodes.
484  */
485 FIRM_API ir_op *get_op_End(void);
486 /**
487  * @ingroup Eor
488  * Returns opcode for Eor nodes.
489  */
490 FIRM_API ir_op *get_op_Eor(void);
491 /**
492  * @ingroup Free
493  * Returns opcode for Free nodes.
494  */
495 FIRM_API ir_op *get_op_Free(void);
496 /**
497  * @ingroup IJmp
498  * Returns opcode for IJmp nodes.
499  */
500 FIRM_API ir_op *get_op_IJmp(void);
501 /**
502  * @ingroup Id
503  * Returns opcode for Id nodes.
504  */
505 FIRM_API ir_op *get_op_Id(void);
506 /**
507  * @ingroup InstOf
508  * Returns opcode for InstOf nodes.
509  */
510 FIRM_API ir_op *get_op_InstOf(void);
511 /**
512  * @ingroup Jmp
513  * Returns opcode for Jmp nodes.
514  */
515 FIRM_API ir_op *get_op_Jmp(void);
516 /**
517  * @ingroup Load
518  * Returns opcode for Load nodes.
519  */
520 FIRM_API ir_op *get_op_Load(void);
521 /**
522  * @ingroup Minus
523  * Returns opcode for Minus nodes.
524  */
525 FIRM_API ir_op *get_op_Minus(void);
526 /**
527  * @ingroup Mod
528  * Returns opcode for Mod nodes.
529  */
530 FIRM_API ir_op *get_op_Mod(void);
531 /**
532  * @ingroup Mul
533  * Returns opcode for Mul nodes.
534  */
535 FIRM_API ir_op *get_op_Mul(void);
536 /**
537  * @ingroup Mulh
538  * Returns opcode for Mulh nodes.
539  */
540 FIRM_API ir_op *get_op_Mulh(void);
541 /**
542  * @ingroup Mux
543  * Returns opcode for Mux nodes.
544  */
545 FIRM_API ir_op *get_op_Mux(void);
546 /**
547  * @ingroup NoMem
548  * Returns opcode for NoMem nodes.
549  */
550 FIRM_API ir_op *get_op_NoMem(void);
551 /**
552  * @ingroup Not
553  * Returns opcode for Not nodes.
554  */
555 FIRM_API ir_op *get_op_Not(void);
556 /**
557  * @ingroup Or
558  * Returns opcode for Or nodes.
559  */
560 FIRM_API ir_op *get_op_Or(void);
561 /**
562  * @ingroup Phi
563  * Returns opcode for Phi nodes.
564  */
565 FIRM_API ir_op *get_op_Phi(void);
566 /**
567  * @ingroup Pin
568  * Returns opcode for Pin nodes.
569  */
570 FIRM_API ir_op *get_op_Pin(void);
571 /**
572  * @ingroup Proj
573  * Returns opcode for Proj nodes.
574  */
575 FIRM_API ir_op *get_op_Proj(void);
576 /**
577  * @ingroup Raise
578  * Returns opcode for Raise nodes.
579  */
580 FIRM_API ir_op *get_op_Raise(void);
581 /**
582  * @ingroup Return
583  * Returns opcode for Return nodes.
584  */
585 FIRM_API ir_op *get_op_Return(void);
586 /**
587  * @ingroup Rotl
588  * Returns opcode for Rotl nodes.
589  */
590 FIRM_API ir_op *get_op_Rotl(void);
591 /**
592  * @ingroup Sel
593  * Returns opcode for Sel nodes.
594  */
595 FIRM_API ir_op *get_op_Sel(void);
596 /**
597  * @ingroup Shl
598  * Returns opcode for Shl nodes.
599  */
600 FIRM_API ir_op *get_op_Shl(void);
601 /**
602  * @ingroup Shr
603  * Returns opcode for Shr nodes.
604  */
605 FIRM_API ir_op *get_op_Shr(void);
606 /**
607  * @ingroup Shrs
608  * Returns opcode for Shrs nodes.
609  */
610 FIRM_API ir_op *get_op_Shrs(void);
611 /**
612  * @ingroup Start
613  * Returns opcode for Start nodes.
614  */
615 FIRM_API ir_op *get_op_Start(void);
616 /**
617  * @ingroup Store
618  * Returns opcode for Store nodes.
619  */
620 FIRM_API ir_op *get_op_Store(void);
621 /**
622  * @ingroup Sub
623  * Returns opcode for Sub nodes.
624  */
625 FIRM_API ir_op *get_op_Sub(void);
626 /**
627  * @ingroup Switch
628  * Returns opcode for Switch nodes.
629  */
630 FIRM_API ir_op *get_op_Switch(void);
631 /**
632  * @ingroup SymConst
633  * Returns opcode for SymConst nodes.
634  */
635 FIRM_API ir_op *get_op_SymConst(void);
636 /**
637  * @ingroup Sync
638  * Returns opcode for Sync nodes.
639  */
640 FIRM_API ir_op *get_op_Sync(void);
641 /**
642  * @ingroup Tuple
643  * Returns opcode for Tuple nodes.
644  */
645 FIRM_API ir_op *get_op_Tuple(void);
646 /**
647  * @ingroup Unknown
648  * Returns opcode for Unknown nodes.
649  */
650 FIRM_API ir_op *get_op_Unknown(void);
651 
652 #endif
653