made code C89 compliant (changed unnamed union in attributes)
[libfirm] / ir / be / ia32 / ia32_transform.h
1 #ifndef _IA32_TRANSFORM_H_
2 #define _IA32_TRANSFORM_H_
3
4 #include "firm_config.h"
5
6 /**
7  * Transforms the given Firm node into one or more appropriate ia32 nodes.
8  */
9 void ia32_transform_node(ir_node *node, void *env);
10
11 /**
12  * Transforms a Sub or fSub into Neg--Add iff OUT_REG == SRC2_REG.
13  * THIS FUNCTIONS MUST BE CALLED AFTER REGISTER ALLOCATION.
14  */
15 void ia32_transform_sub_to_neg_add(ir_node *irn, ia32_code_gen_t *cg);
16
17 /**
18  * Transforms a LEA into an Add if possible
19  * THIS FUNCTIONS MUST BE CALLED AFTER REGISTER ALLOCATION.
20  */
21 void ia32_transform_lea_to_add(ir_node *irn, ia32_code_gen_t *cg);
22
23 #ifndef NDEBUG
24 /**
25  * Prints the old node name on cg obst and returns a pointer to it.
26  */
27 const char *ia32_get_old_node_name(ia32_transform_env_t *env);
28 #endif /* NDEBUG */
29
30 #endif /* _IA32_TRANSFORM_H_ */