make lots of irn functions accept const ir_node
[libfirm] / ir / ir / irnode.c
index e811a74..e32e066 100644 (file)
@@ -618,7 +618,7 @@ get_irn_except_attr(ir_node *node) {
 }
 
 void *
-get_irn_generic_attr(ir_node *node) {
+get_irn_generic_attr(const ir_node *node) {
        return &node->attr;
 }
 
@@ -1098,7 +1098,7 @@ set_SymConst_type(ir_node *node, ir_type *tp) {
 }
 
 ident *
-get_SymConst_name(ir_node *node) {
+get_SymConst_name(const ir_node *node) {
        assert(node->op == op_SymConst && SYMCONST_HAS_ID(get_SymConst_kind(node)));
        return node->attr.symc.sym.ident_p;
 }
@@ -1111,7 +1111,7 @@ set_SymConst_name(ir_node *node, ident *name) {
 
 
 /* Only to access SymConst of kind symconst_addr_ent.  Else assertion: */
-ir_entity *get_SymConst_entity(ir_node *node) {
+ir_entity *get_SymConst_entity(const ir_node *node) {
        assert(node->op == op_SymConst && SYMCONST_HAS_ENT(get_SymConst_kind(node)));
        return node->attr.symc.sym.entity_p;
 }
@@ -1121,7 +1121,7 @@ void set_SymConst_entity(ir_node *node, ir_entity *ent) {
        node->attr.symc.sym.entity_p  = ent;
 }
 
-ir_enum_const *get_SymConst_enum(ir_node *node) {
+ir_enum_const *get_SymConst_enum(const ir_node *node) {
        assert(node->op == op_SymConst && SYMCONST_HAS_ENUM(get_SymConst_kind(node)));
        return node->attr.symc.sym.enum_p;
 }
@@ -1132,7 +1132,7 @@ void set_SymConst_enum(ir_node *node, ir_enum_const *ec) {
 }
 
 union symconst_symbol
-get_SymConst_symbol(ir_node *node) {
+get_SymConst_symbol(const ir_node *node) {
        assert(node->op == op_SymConst);
        return node->attr.symc.sym;
 }
@@ -1352,7 +1352,7 @@ void  set_CallBegin_call(ir_node *node, ir_node *call) {
 
 
 #define BINOP(OP)                                      \
-ir_node * get_##OP##_left(ir_node *node) {             \
+ir_node * get_##OP##_left(const ir_node *node) {       \
   assert(node->op == op_##OP);                         \
   return get_irn_n(node, node->op->op_index);          \
 }                                                      \
@@ -1360,7 +1360,7 @@ void set_##OP##_left(ir_node *node, ir_node *left) {   \
   assert(node->op == op_##OP);                         \
   set_irn_n(node, node->op->op_index, left);           \
 }                                                      \
-ir_node *get_##OP##_right(ir_node *node) {             \
+ir_node *get_##OP##_right(const ir_node *node) {       \
   assert(node->op == op_##OP);                         \
   return get_irn_n(node, node->op->op_index + 1);      \
 }                                                      \
@@ -1370,7 +1370,7 @@ void set_##OP##_right(ir_node *node, ir_node *right) { \
 }
 
 #define UNOP(OP)                                  \
-ir_node *get_##OP##_op(ir_node *node) {           \
+ir_node *get_##OP##_op(const ir_node *node) {     \
   assert(node->op == op_##OP);                    \
   return get_irn_n(node, node->op->op_index);     \
 }                                                 \
@@ -1489,7 +1489,7 @@ int
 }
 
 ir_node *
-get_unop_op(ir_node *node) {
+get_unop_op(const ir_node *node) {
        if (node->op->opar == oparity_unary)
                return get_irn_n(node, node->op->op_index);
 
@@ -1511,7 +1511,7 @@ int
 }
 
 ir_node *
-get_binop_left(ir_node *node) {
+get_binop_left(const ir_node *node) {
        assert(node->op->opar == oparity_binary);
        return get_irn_n(node, node->op->op_index);
 }
@@ -1523,7 +1523,7 @@ set_binop_left(ir_node *node, ir_node *left) {
 }
 
 ir_node *
-get_binop_right(ir_node *node) {
+get_binop_right(const ir_node *node) {
        assert(node->op->opar == oparity_binary);
        return get_irn_n(node, node->op->op_index + 1);
 }
@@ -2306,7 +2306,7 @@ void set_Bound_upper(ir_node *bound, ir_node *upper) {
 }
 
 /* Return the operand of a Pin node. */
-ir_node *get_Pin_op(ir_node *pin) {
+ir_node *get_Pin_op(const ir_node *pin) {
        assert(pin->op == op_Pin);
        return get_irn_n(pin, 0);
 }
@@ -2523,6 +2523,11 @@ int
        return _is_Const(node);
 }
 
+int
+(is_Conv)(const ir_node *node) {
+       return _is_Conv(node);
+}
+
 int
 (is_no_Block)(const ir_node *node) {
        return _is_no_Block(node);