From 192f471040d23add4bc5844d774f5f22fcd76b96 Mon Sep 17 00:00:00 2001 From: Michael Beck Date: Mon, 21 Feb 2005 12:08:08 +0000 Subject: [PATCH] *** empty log message *** [r5190] --- ir/ir/irop_t.h | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/ir/ir/irop_t.h b/ir/ir/irop_t.h index bc90a9a32..edc17dc26 100644 --- a/ir/ir/irop_t.h +++ b/ir/ir/irop_t.h @@ -51,17 +51,17 @@ typedef enum { * This operation evaluates an IR node into a tarval if possible, * returning tarval_bad otherwise. */ -typedef tarval *(*computed_value_func)(ir_node *n); +typedef tarval *(*computed_value_func)(ir_node *self); /** * The equivalent node operation. * This operation returns an equivalent node for the input node. - * It does not create new nodes. It is therefore safe to free n - * if the node returned is not n. + * It does not create new nodes. It is therefore safe to free self + * if the node returned is not self. * If a node returns a Tuple we can not just skip it. If the size of the * in array fits, we transform n into a tuple (e.g., possible for Div). */ -typedef ir_node *(*equivalent_node_func)(ir_node *n); +typedef ir_node *(*equivalent_node_func)(ir_node *self); /** * The transform node operation. @@ -71,7 +71,7 @@ typedef ir_node *(*equivalent_node_func)(ir_node *n); * transformations _do_ generate new nodes, and thus the old node must * not be freed even if the equivalent node isn't the old one. */ -typedef ir_node *(*transform_node_func)(ir_node *n); +typedef ir_node *(*transform_node_func)(ir_node *self); /** * The node attribute compare operation. @@ -95,6 +95,12 @@ typedef int (*reassociate_func)(ir_node **n); */ typedef void (*copy_attr_func)(const ir_node *old_node, ir_node *new_node); +/** + * The get_type operation. + * Return the type of the node self. + */ +typedef type *(*get_type_func)(ir_node *self); + /** The type of an ir_op. */ struct ir_op { opcode code; /**< the unique opcode of the op */ @@ -112,6 +118,7 @@ struct ir_op { node_cmp_attr_func node_cmp_attr; /**< compares two node attributes. */ reassociate_func reassociate; /**< reassociate a tree */ copy_attr_func copy_attr; /**< copy node attributes */ + get_type_func get_type; /**< return the type of a node */ }; /** -- 2.20.1