1 /*************************************************************************
2 * Program: firm_node_ext.h
3 * Function: Provides functions to extend firm by nodes needed by the
5 * Author: Andreas Schoesser
7 *************************************************************************/
9 #ifndef __FIRM_NODE_EXT__
10 #define __FIRM_NODE_EXT__
15 extern ir_opcode iro_VProj;
16 extern ir_op *op_VProj;
18 extern ir_opcode iro_MultipleAdd;
19 extern ir_op *op_MultipleAdd;
21 extern ir_opcode iro_IrNode;
22 extern ir_op *op_IrNode;
24 extern ir_opcode iro_Complex;
25 extern ir_op *op_Complex;
27 extern ir_opcode iro_FakeComplex;
28 extern ir_op *op_FakeComplex;
31 //extern ir_mode *mode_DLu;
33 ir_node *new_ir_node_with_update(dbg_info *db, ir_graph *irg, ir_node *block, ir_op *op, ir_mode *mode, int arity, ir_node *in[]);
34 int get_VProj_proj(ir_node *n);
35 void set_VProj_proj(ir_node *n, int proj);
36 void ext_firm_nodes();
37 int is_MultipleAdd(ir_node *n);
38 ir_alias_relation get_multadd_alias_relation(ir_node *n1, ir_node *n2);