libFirm
gen_TEMPLATE_new_nodes.h
1 
9 #ifndef FIRM_BE_TEMPLATE_GEN_TEMPLATE_NEW_NODES_H
10 #define FIRM_BE_TEMPLATE_GEN_TEMPLATE_NEW_NODES_H
11 
12 #include "be_types.h"
13 #include "irnode_t.h"
14 #include "TEMPLATE_nodes_attr.h"
15 
16 typedef enum TEMPLATE_opcodes {
17  iro_TEMPLATE_Add,
18  iro_TEMPLATE_And,
19  iro_TEMPLATE_Const,
20  iro_TEMPLATE_Jmp,
21  iro_TEMPLATE_Load,
22  iro_TEMPLATE_Minus,
23  iro_TEMPLATE_Mul,
24  iro_TEMPLATE_Not,
25  iro_TEMPLATE_Or,
26  iro_TEMPLATE_Return,
27  iro_TEMPLATE_Shl,
28  iro_TEMPLATE_Shr,
29  iro_TEMPLATE_Store,
30  iro_TEMPLATE_Sub,
31  iro_TEMPLATE_Xor,
32  iro_TEMPLATE_fAdd,
33  iro_TEMPLATE_fConst,
34  iro_TEMPLATE_fDiv,
35  iro_TEMPLATE_fLoad,
36  iro_TEMPLATE_fMinus,
37  iro_TEMPLATE_fMul,
38  iro_TEMPLATE_fStore,
39  iro_TEMPLATE_fSub,
40  iro_TEMPLATE_last
41 } TEMPLATE_opcodes;
42 
43 
44 int is_TEMPLATE_irn(const ir_node *node);
45 int is_TEMPLATE_op(const ir_op *op);
46 
47 int get_TEMPLATE_irn_opcode(const ir_node *node);
48 void TEMPLATE_create_opcodes(void);
49 void TEMPLATE_free_opcodes(void);
50 
51 extern ir_op *op_TEMPLATE_Add;
52 
53 static inline bool is_TEMPLATE_Add(ir_node const *const n)
54 {
55  return get_irn_op(n) == op_TEMPLATE_Add;
56 }
57 
61 ir_node *new_bd_TEMPLATE_Add(dbg_info *dbgi, ir_node *block, ir_node *op0, ir_node *op1);
62 
63 extern ir_op *op_TEMPLATE_And;
64 
65 static inline bool is_TEMPLATE_And(ir_node const *const n)
66 {
67  return get_irn_op(n) == op_TEMPLATE_And;
68 }
69 
73 ir_node *new_bd_TEMPLATE_And(dbg_info *dbgi, ir_node *block, ir_node *op0, ir_node *op1);
74 
75 extern ir_op *op_TEMPLATE_Const;
76 
77 static inline bool is_TEMPLATE_Const(ir_node const *const n)
78 {
79  return get_irn_op(n) == op_TEMPLATE_Const;
80 }
81 
85 ir_node *new_bd_TEMPLATE_Const(dbg_info *dbgi, ir_node *block, ir_entity *entity, ir_tarval *value);
86 
87 extern ir_op *op_TEMPLATE_Jmp;
88 
89 static inline bool is_TEMPLATE_Jmp(ir_node const *const n)
90 {
91  return get_irn_op(n) == op_TEMPLATE_Jmp;
92 }
93 
97 ir_node *new_bd_TEMPLATE_Jmp(dbg_info *dbgi, ir_node *block);
98 
99 extern ir_op *op_TEMPLATE_Load;
100 
101 static inline bool is_TEMPLATE_Load(ir_node const *const n)
102 {
103  return get_irn_op(n) == op_TEMPLATE_Load;
104 }
105 
109 ir_node *new_bd_TEMPLATE_Load(dbg_info *dbgi, ir_node *block, ir_node *mem, ir_node *ptr);
110 
111 extern ir_op *op_TEMPLATE_Minus;
112 
113 static inline bool is_TEMPLATE_Minus(ir_node const *const n)
114 {
115  return get_irn_op(n) == op_TEMPLATE_Minus;
116 }
117 
121 ir_node *new_bd_TEMPLATE_Minus(dbg_info *dbgi, ir_node *block, ir_node *op0);
122 
123 extern ir_op *op_TEMPLATE_Mul;
124 
125 static inline bool is_TEMPLATE_Mul(ir_node const *const n)
126 {
127  return get_irn_op(n) == op_TEMPLATE_Mul;
128 }
129 
133 ir_node *new_bd_TEMPLATE_Mul(dbg_info *dbgi, ir_node *block, ir_node *op0, ir_node *op1);
134 
135 extern ir_op *op_TEMPLATE_Not;
136 
137 static inline bool is_TEMPLATE_Not(ir_node const *const n)
138 {
139  return get_irn_op(n) == op_TEMPLATE_Not;
140 }
141 
145 ir_node *new_bd_TEMPLATE_Not(dbg_info *dbgi, ir_node *block, ir_node *op0);
146 
147 extern ir_op *op_TEMPLATE_Or;
148 
149 static inline bool is_TEMPLATE_Or(ir_node const *const n)
150 {
151  return get_irn_op(n) == op_TEMPLATE_Or;
152 }
153 
157 ir_node *new_bd_TEMPLATE_Or(dbg_info *dbgi, ir_node *block, ir_node *op0, ir_node *op1);
158 
159 extern ir_op *op_TEMPLATE_Return;
160 
161 static inline bool is_TEMPLATE_Return(ir_node const *const n)
162 {
163  return get_irn_op(n) == op_TEMPLATE_Return;
164 }
165 
169 ir_node *new_bd_TEMPLATE_Return(dbg_info *dbgi, ir_node *block, int const arity, ir_node *const *const in, arch_register_req_t const **const in_reqs);
170 
171 extern ir_op *op_TEMPLATE_Shl;
172 
173 static inline bool is_TEMPLATE_Shl(ir_node const *const n)
174 {
175  return get_irn_op(n) == op_TEMPLATE_Shl;
176 }
177 
181 ir_node *new_bd_TEMPLATE_Shl(dbg_info *dbgi, ir_node *block, ir_node *op0, ir_node *op1);
182 
183 extern ir_op *op_TEMPLATE_Shr;
184 
185 static inline bool is_TEMPLATE_Shr(ir_node const *const n)
186 {
187  return get_irn_op(n) == op_TEMPLATE_Shr;
188 }
189 
193 ir_node *new_bd_TEMPLATE_Shr(dbg_info *dbgi, ir_node *block, ir_node *op0, ir_node *op1);
194 
195 extern ir_op *op_TEMPLATE_Store;
196 
197 static inline bool is_TEMPLATE_Store(ir_node const *const n)
198 {
199  return get_irn_op(n) == op_TEMPLATE_Store;
200 }
201 
205 ir_node *new_bd_TEMPLATE_Store(dbg_info *dbgi, ir_node *block, ir_node *mem, ir_node *ptr, ir_node *val);
206 
207 extern ir_op *op_TEMPLATE_Sub;
208 
209 static inline bool is_TEMPLATE_Sub(ir_node const *const n)
210 {
211  return get_irn_op(n) == op_TEMPLATE_Sub;
212 }
213 
217 ir_node *new_bd_TEMPLATE_Sub(dbg_info *dbgi, ir_node *block, ir_node *op0, ir_node *op1);
218 
219 extern ir_op *op_TEMPLATE_Xor;
220 
221 static inline bool is_TEMPLATE_Xor(ir_node const *const n)
222 {
223  return get_irn_op(n) == op_TEMPLATE_Xor;
224 }
225 
229 ir_node *new_bd_TEMPLATE_Xor(dbg_info *dbgi, ir_node *block, ir_node *op0, ir_node *op1);
230 
231 extern ir_op *op_TEMPLATE_fAdd;
232 
233 static inline bool is_TEMPLATE_fAdd(ir_node const *const n)
234 {
235  return get_irn_op(n) == op_TEMPLATE_fAdd;
236 }
237 
241 ir_node *new_bd_TEMPLATE_fAdd(dbg_info *dbgi, ir_node *block, ir_node *op0, ir_node *op1);
242 
243 extern ir_op *op_TEMPLATE_fConst;
244 
245 static inline bool is_TEMPLATE_fConst(ir_node const *const n)
246 {
247  return get_irn_op(n) == op_TEMPLATE_fConst;
248 }
249 
253 ir_node *new_bd_TEMPLATE_fConst(dbg_info *dbgi, ir_node *block);
254 
255 extern ir_op *op_TEMPLATE_fDiv;
256 
257 static inline bool is_TEMPLATE_fDiv(ir_node const *const n)
258 {
259  return get_irn_op(n) == op_TEMPLATE_fDiv;
260 }
261 
265 ir_node *new_bd_TEMPLATE_fDiv(dbg_info *dbgi, ir_node *block, ir_node *op0, ir_node *op1);
266 
267 extern ir_op *op_TEMPLATE_fLoad;
268 
269 static inline bool is_TEMPLATE_fLoad(ir_node const *const n)
270 {
271  return get_irn_op(n) == op_TEMPLATE_fLoad;
272 }
273 
277 ir_node *new_bd_TEMPLATE_fLoad(dbg_info *dbgi, ir_node *block, ir_node *mem, ir_node *ptr);
278 
279 extern ir_op *op_TEMPLATE_fMinus;
280 
281 static inline bool is_TEMPLATE_fMinus(ir_node const *const n)
282 {
283  return get_irn_op(n) == op_TEMPLATE_fMinus;
284 }
285 
289 ir_node *new_bd_TEMPLATE_fMinus(dbg_info *dbgi, ir_node *block, ir_node *op0);
290 
291 extern ir_op *op_TEMPLATE_fMul;
292 
293 static inline bool is_TEMPLATE_fMul(ir_node const *const n)
294 {
295  return get_irn_op(n) == op_TEMPLATE_fMul;
296 }
297 
301 ir_node *new_bd_TEMPLATE_fMul(dbg_info *dbgi, ir_node *block, ir_node *op0, ir_node *op1);
302 
303 extern ir_op *op_TEMPLATE_fStore;
304 
305 static inline bool is_TEMPLATE_fStore(ir_node const *const n)
306 {
307  return get_irn_op(n) == op_TEMPLATE_fStore;
308 }
309 
313 ir_node *new_bd_TEMPLATE_fStore(dbg_info *dbgi, ir_node *block, ir_node *mem, ir_node *ptr, ir_node *val);
314 
315 extern ir_op *op_TEMPLATE_fSub;
316 
317 static inline bool is_TEMPLATE_fSub(ir_node const *const n)
318 {
319  return get_irn_op(n) == op_TEMPLATE_fSub;
320 }
321 
325 ir_node *new_bd_TEMPLATE_fSub(dbg_info *dbgi, ir_node *block, ir_node *op0, ir_node *op1);
326 
327 
328 typedef enum pn_TEMPLATE_Load {
329  pn_TEMPLATE_Load_res = 0,
330  pn_TEMPLATE_Load_M = 1,
331 } pn_TEMPLATE_Load;
332 
333 typedef enum n_TEMPLATE_Load {
334  n_TEMPLATE_Load_mem = 0,
335  n_TEMPLATE_Load_ptr = 1,
336 } n_TEMPLATE_Load;
337 
338 typedef enum pn_TEMPLATE_Return {
339  pn_TEMPLATE_Return_X = 0,
340 } pn_TEMPLATE_Return;
341 
342 typedef enum n_TEMPLATE_Return {
343  n_TEMPLATE_Return_mem = 0,
344  n_TEMPLATE_Return_stack = 1,
345  n_TEMPLATE_Return_first_result = 2,
346 } n_TEMPLATE_Return;
347 
348 typedef enum pn_TEMPLATE_Store {
349  pn_TEMPLATE_Store_M = 0,
350 } pn_TEMPLATE_Store;
351 
352 typedef enum n_TEMPLATE_Store {
353  n_TEMPLATE_Store_mem = 0,
354  n_TEMPLATE_Store_ptr = 1,
355  n_TEMPLATE_Store_val = 2,
356 } n_TEMPLATE_Store;
357 
358 typedef enum pn_TEMPLATE_fLoad {
359  pn_TEMPLATE_fLoad_res = 0,
360  pn_TEMPLATE_fLoad_M = 1,
361 } pn_TEMPLATE_fLoad;
362 
363 typedef enum n_TEMPLATE_fLoad {
364  n_TEMPLATE_fLoad_mem = 0,
365  n_TEMPLATE_fLoad_ptr = 1,
366 } n_TEMPLATE_fLoad;
367 
368 typedef enum pn_TEMPLATE_fStore {
369  pn_TEMPLATE_fStore_M = 0,
370 } pn_TEMPLATE_fStore;
371 
372 typedef enum n_TEMPLATE_fStore {
373  n_TEMPLATE_fStore_mem = 0,
374  n_TEMPLATE_fStore_ptr = 1,
375  n_TEMPLATE_fStore_val = 2,
376 } n_TEMPLATE_fStore;
377 
378 
379 #endif
struct ir_op ir_op
Node Opcode.
Definition: firm_types.h:56
struct dbg_info dbg_info
Source Reference.
Definition: firm_types.h:40
struct ir_tarval ir_tarval
Target Machine Value.
Definition: firm_types.h:68
ir_op * get_irn_op(const ir_node *node)
Returns the opcode struct of the node.
struct ir_entity ir_entity
Entity.
Definition: firm_types.h:83
struct ir_node ir_node
Procedure Graph Node.
Definition: firm_types.h:53