backend: put ignore regs into beirg
[libfirm] / ir / ir / irio.c
index 18316ac..a946e62 100644 (file)
@@ -58,6 +58,7 @@ typedef struct io_env_t
        int line;
        ir_type **fixedtypes;
        struct obstack obst;
+       ir_graph *irg;
 } io_env_t;
 
 typedef enum typetag_t
@@ -323,7 +324,7 @@ static void write_mode(io_env_t *env, ir_mode *mode)
        fputc(' ', env->file);
 }
 
-static void write_tarval(io_env_t *env, tarval *tv)
+static void write_tarval(io_env_t *env, ir_tarval *tv)
 {
        char buf[1024];
        write_mode(env, get_tarval_mode(tv));
@@ -381,7 +382,7 @@ static void write_initializer(io_env_t *env, ir_initializer_t *ini)
 
        case IR_INITIALIZER_COMPOUND: {
                unsigned i, n = get_initializer_compound_n_entries(ini);
-               fprintf(f, "%d ", n);
+               fprintf(f, "%u ", n);
                for (i = 0; i < n; i++)
                        write_initializer(env, get_initializer_compound_value(ini, i));
                break;
@@ -415,7 +416,7 @@ static void write_volatility(io_env_t *env, ir_node *irn)
 
 static void export_type_common(io_env_t *env, ir_type *tp)
 {
-       fprintf(env->file, "\ttype %ld %s %u %u %s %d ",
+       fprintf(env->file, "\ttype %ld %s %u %u %s %u ",
                get_type_nr(tp),
                get_type_tpop_name(tp),
                get_type_size_bytes(tp),
@@ -674,8 +675,8 @@ static void export_node(ir_node *irn, void *ctx)
 
        fprintf(env->file, "] { ");
 
-       switch (opcode) {
-       #include "gen_irio_export.inl"
+       switch (opcode) {
+#include "gen_irio_export.inl"
        }
        fputs("}\n", env->file);
 }
@@ -713,7 +714,7 @@ static void export_modes(io_env_t *env)
                        break;
                }
 
-               fprintf(env->file, "\tmode \"%s\" %s %d %d %s %d %d ",
+               fprintf(env->file, "\tmode \"%s\" %s %u %d %s %u %u ",
                        get_mode_name(mode), get_mode_sort_name(get_mode_sort(mode)),
                        get_mode_size_bits(mode), get_mode_sign(mode),
                        get_mode_arithmetic_name(get_mode_arithmetic(mode)),
@@ -995,7 +996,7 @@ static long read_long(io_env_t *env)
        do {
                obstack_1grow(&env->obst, env->c);
                read_c(env);
-       } while(isdigit(env->c));
+       } while (isdigit(env->c));
        obstack_1grow(&env->obst, 0);
 
        str = obstack_finish(&env->obst);
@@ -1028,7 +1029,7 @@ static ir_node *get_node_or_dummy(io_env_t *env, long nodenr)
 {
        ir_node *node = get_node_or_null(env, nodenr);
        if (node == NULL) {
-               node = new_Dummy(mode_X);
+               node = new_r_Dummy(env->irg, mode_X);
                set_id(env, nodenr, node);
        }
        return node;
@@ -1160,11 +1161,11 @@ static ir_cons_flags get_cons_flags(io_env_t *env)
        return flags;
 }
 
-static tarval *read_tv(io_env_t *env)
+static ir_tarval *read_tv(io_env_t *env)
 {
-       ir_mode *tvmode = read_mode(env);
-       char    *str    = read_word(env);
-       tarval  *tv     = new_tarval_from_str(str, strlen(str), tvmode);
+       ir_mode   *tvmode = read_mode(env);
+       char      *str    = read_word(env);
+       ir_tarval *tv     = new_tarval_from_str(str, strlen(str), tvmode);
        obstack_free(&env->obst, str);
 
        return tv;
@@ -1244,7 +1245,7 @@ static void import_type(io_env_t *env)
                const char *name = read_quoted_string_null(env);
                ident      *id   = name != NULL ? new_id_from_str(name) : NULL;
 
-               if(typenr == (long) IR_SEGMENT_GLOBAL)
+               if (typenr == (long) IR_SEGMENT_GLOBAL)
                        type = get_glob_type();
                else
                        type = new_type_class(id);
@@ -1412,11 +1413,12 @@ static void import_entity(io_env_t *env)
 /** Parses the whole type graph. */
 static int parse_typegraph(io_env_t *env)
 {
+       ir_graph *old_irg = env->irg;
        keyword_t kwkind;
 
        EXPECT('{');
 
-       current_ir_graph = get_const_code_irg();
+       env->irg = get_const_code_irg();
 
        /* parse all types first */
        while (true) {
@@ -1442,6 +1444,7 @@ static int parse_typegraph(io_env_t *env)
                        break;
                }
        }
+       env->irg = old_irg;
        return 1;
 }
 
@@ -1453,7 +1456,7 @@ static int read_node_header(io_env_t *env, long *nodenr, long **preds,
        *nodename = read_word(env);
        *nodenr   = read_long(env);
 
-       ARR_RESIZE(ir_node *, *preds, 0);
+       ARR_RESIZE(long, *preds, 0);
 
        EXPECT('[');
        for (numpreds = 0; !feof(env->file); numpreds++) {
@@ -1481,7 +1484,7 @@ static int parse_graph(io_env_t *env, ir_graph *irg)
        const char *nodename;
        ir_node    *node, *newnode;
 
-       current_ir_graph = irg;
+       env->irg = irg;
 
        EXPECT('{');
 
@@ -1514,7 +1517,7 @@ static int parse_graph(io_env_t *env, ir_graph *irg)
                case iro_End:
                {
                        ir_node *newendblock = get_node(env, preds[0]);
-                       newnode = get_irg_end(current_ir_graph);
+                       newnode = get_irg_end(irg);
                        exchange(get_nodes_block(newnode), newendblock);
                        for (i = 0; i < numpreds - 1; i++)
                                add_irn_n(newnode, prednodes[i]);
@@ -1524,7 +1527,7 @@ static int parse_graph(io_env_t *env, ir_graph *irg)
                case iro_Start:
                {
                        ir_node *newstartblock = get_node(env, preds[0]);
-                       newnode = get_irg_start(current_ir_graph);
+                       newnode = get_irg_start(irg);
                        exchange(get_nodes_block(newnode), newstartblock);
                        break;
                }
@@ -1538,12 +1541,12 @@ static int parse_graph(io_env_t *env, ir_graph *irg)
                                goto endloop;
                        }
 
-                       newnode = new_Block(numpreds - 1, prednodes);
+                       newnode = new_r_Block(irg, numpreds - 1, prednodes);
                        break;
                }
 
                case iro_Anchor:
-                       newnode = current_ir_graph->anchor;
+                       newnode = irg->anchor;
                        for (i = 0; i < numpreds - 1; i++)
                                set_irn_n(newnode, i, prednodes[i]);
                        set_irn_n(newnode, -1, get_node(env, preds[0]));
@@ -1554,7 +1557,7 @@ static int parse_graph(io_env_t *env, ir_graph *irg)
                        long entnr = read_long(env);
                        union symconst_symbol sym;
                        sym.entity_p = get_entity(env, entnr);
-                       newnode = new_SymConst(mode_P, sym, symconst_addr_ent);
+                       newnode = new_r_SymConst(irg, mode_P, sym, symconst_addr_ent);
                        break;
                }