X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fia32%2Fia32_transform.h;h=333fa1cd506558ce3acce1ab0577b59a6d4cb426;hb=f88e86f1a13d0d1983db56af8670be3e7a4c86ab;hp=e049471f829ff4a905ec9ed744b36d0695a79bd6;hpb=6a89841020611498f534ce95f892e76728c37302;p=libfirm diff --git a/ir/be/ia32/ia32_transform.h b/ir/be/ia32/ia32_transform.h index e049471f8..333fa1cd5 100644 --- a/ir/be/ia32/ia32_transform.h +++ b/ir/be/ia32/ia32_transform.h @@ -1,3 +1,9 @@ +/** + * Function prototypes for Firm into ia32-Firm transformations. + * @author Christian Wuerdig + * $Id$ + */ + #ifndef _IA32_TRANSFORM_H_ #define _IA32_TRANSFORM_H_ @@ -26,6 +32,14 @@ void ia32_transform_sub_to_neg_add(ir_node *irn, ia32_code_gen_t *cg); */ void ia32_transform_lea_to_add(ir_node *irn, ia32_code_gen_t *cg); +/** + * The Psi selector can be a tree of compares combined with "And"s and "Or"s. + * We create a Set node, respectively a xCmp in case the Psi is a float, for each + * compare, which causes the compare result to be stores in a register. The + * "And"s and "Or"s are transformed later, we only adjust their mode. + */ +void ia32_transform_psi_cond_tree(ir_node *node, void *env); + #ifndef NDEBUG /** * Prints the old node name on cg obst and returns a pointer to it.