+ir_node *
+get_Return_mem (ir_node *node) {
+ assert (node->op == op_Return);
+ return get_irn_n(node, 0);
+}
+
+void
+set_Return_mem (ir_node *node, ir_node *mem) {
+ assert (node->op == op_Return);
+ set_irn_n(node, 0, mem);
+}
+
+int
+get_Return_n_ress (ir_node *node) {
+ assert (node->op == op_Return);
+ return (get_irn_arity(node) - RETURN_RESULT_OFFSET);
+}
+
+ir_node **
+get_Return_res_arr (ir_node *node)
+{
+ assert ((node->op == op_Return));
+ if (get_Return_n_ress(node) > 0)
+ return (ir_node **)&(get_irn_in(node)[1 + RETURN_RESULT_OFFSET]);
+ else
+ return NULL;
+}
+
+/*
+void
+set_Return_n_res (ir_node *node, int results) {
+ assert (node->op == op_Return);
+}
+*/
+
+ir_node *
+get_Return_res (ir_node *node, int pos) {
+ assert (node->op == op_Return);
+ assert (get_Return_n_ress(node) > pos);
+ return get_irn_n(node, pos + RETURN_RESULT_OFFSET);
+}
+
+void
+set_Return_res (ir_node *node, int pos, ir_node *res){
+ assert (node->op == op_Return);
+ set_irn_n(node, pos + RETURN_RESULT_OFFSET, res);
+}
+
+tarval *(get_Const_tarval)(ir_node *node) {
+ return _get_Const_tarval(node);
+}
+
+void
+set_Const_tarval (ir_node *node, tarval *con) {
+ assert (node->op == op_Const);
+ node->attr.con.tv = con;
+}
+
+cnst_classify_t (classify_Const)(ir_node *node)
+{
+ return _classify_Const(node);
+}
+
+
+/* The source language type. Must be an atomic type. Mode of type must
+ be mode of node. For tarvals from entities type must be pointer to
+ entity type. */
+ir_type *
+get_Const_type (ir_node *node) {
+ assert (node->op == op_Const);
+ return node->attr.con.tp;
+}
+
+void
+set_Const_type (ir_node *node, ir_type *tp) {
+ assert (node->op == op_Const);
+ if (tp != firm_unknown_type) {
+ assert (is_atomic_type(tp));
+ assert (get_type_mode(tp) == get_irn_mode(node));
+ }
+ node->attr.con.tp = tp;
+}
+
+
+symconst_kind
+get_SymConst_kind (const ir_node *node) {
+ assert (node->op == op_SymConst);
+ return node->attr.i.num;
+}
+
+void
+set_SymConst_kind (ir_node *node, symconst_kind num) {
+ assert (node->op == op_SymConst);
+ node->attr.i.num = num;
+}
+
+ir_type *
+get_SymConst_type (ir_node *node) {
+ assert ( (node->op == op_SymConst)
+ && ( get_SymConst_kind(node) == symconst_type_tag
+ || get_SymConst_kind(node) == symconst_size));
+ return node->attr.i.sym.type_p = skip_tid(node->attr.i.sym.type_p);
+}
+
+void
+set_SymConst_type (ir_node *node, ir_type *tp) {
+ assert ( (node->op == op_SymConst)
+ && ( get_SymConst_kind(node) == symconst_type_tag
+ || get_SymConst_kind(node) == symconst_size));
+ node->attr.i.sym.type_p = tp;
+}
+
+ident *
+get_SymConst_name (ir_node *node) {
+ assert ( (node->op == op_SymConst)
+ && (get_SymConst_kind(node) == symconst_addr_name));
+ return node->attr.i.sym.ident_p;
+}
+
+void
+set_SymConst_name (ir_node *node, ident *name) {
+ assert ( (node->op == op_SymConst)
+ && (get_SymConst_kind(node) == symconst_addr_name));
+ node->attr.i.sym.ident_p = name;
+}
+
+
+/* Only to access SymConst of kind symconst_addr_ent. Else assertion: */
+entity *get_SymConst_entity (ir_node *node) {
+ assert ( (node->op == op_SymConst)
+ && (get_SymConst_kind (node) == symconst_addr_ent));
+ return node->attr.i.sym.entity_p;
+}
+
+void set_SymConst_entity (ir_node *node, entity *ent) {
+ assert ( (node->op == op_SymConst)
+ && (get_SymConst_kind(node) == symconst_addr_ent));
+ node->attr.i.sym.entity_p = ent;
+}
+
+union symconst_symbol
+get_SymConst_symbol (ir_node *node) {
+ assert (node->op == op_SymConst);
+ return node->attr.i.sym;
+}
+
+void
+set_SymConst_symbol (ir_node *node, union symconst_symbol sym) {
+ assert (node->op == op_SymConst);
+ //memcpy (&(node->attr.i.sym), sym, sizeof(type_or_id));
+ node->attr.i.sym = sym;
+}
+
+ir_type *
+get_SymConst_value_type (ir_node *node) {
+ assert (node->op == op_SymConst);
+ if (node->attr.i.tp) node->attr.i.tp = skip_tid(node->attr.i.tp);
+ return node->attr.i.tp;
+}
+
+void
+set_SymConst_value_type (ir_node *node, ir_type *tp) {
+ assert (node->op == op_SymConst);
+ node->attr.i.tp = tp;
+}
+
+ir_node *
+get_Sel_mem (ir_node *node) {
+ assert (node->op == op_Sel);
+ return get_irn_n(node, 0);
+}
+
+void
+set_Sel_mem (ir_node *node, ir_node *mem) {