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