- new spillslots dump phase
authorMatthias Braun <matze@braunis.de>
Fri, 4 Aug 2006 14:15:25 +0000 (14:15 +0000)
committerMatthias Braun <matze@braunis.de>
Fri, 4 Aug 2006 14:15:25 +0000 (14:15 +0000)
ir/be/bechordal_main.c
ir/be/bechordal_t.h
ir/be/benode.c

index f9ab17c..a2d0392 100644 (file)
@@ -173,16 +173,17 @@ static const lc_opt_enum_int_items_t lower_perm_stat_items[] = {
 };
 
 static const lc_opt_enum_int_items_t dump_items[] = {
-       { "spill",    BE_CH_DUMP_SPILL     },
-       { "live",     BE_CH_DUMP_LIVE      },
-       { "color",    BE_CH_DUMP_COLOR     },
-       { "copymin",  BE_CH_DUMP_COPYMIN   },
-       { "ssadestr", BE_CH_DUMP_SSADESTR  },
-       { "tree",     BE_CH_DUMP_TREE_INTV },
-       { "constr",   BE_CH_DUMP_CONSTR    },
-       { "lower",    BE_CH_DUMP_LOWER     },
-       { "appel",    BE_CH_DUMP_APPEL     },
-       { "all",      BE_CH_DUMP_ALL       },
+       { "spill",      BE_CH_DUMP_SPILL      },
+       { "live",       BE_CH_DUMP_LIVE       },
+       { "color",      BE_CH_DUMP_COLOR      },
+       { "copymin",    BE_CH_DUMP_COPYMIN    },
+       { "ssadestr",   BE_CH_DUMP_SSADESTR   },
+       { "tree",       BE_CH_DUMP_TREE_INTV  },
+       { "constr",     BE_CH_DUMP_CONSTR     },
+       { "lower",      BE_CH_DUMP_LOWER      },
+       { "spillslots", BE_CH_DUMP_SPILLSLOTS },
+       { "appel",      BE_CH_DUMP_APPEL      },
+       { "all",        BE_CH_DUMP_ALL        },
        { NULL, 0 }
 };
 
@@ -575,6 +576,7 @@ static be_ra_timer_t *be_ra_chordal_main(const be_irg_t *bi)
        }
 
        be_coalesce_spillslots(&chordal_env);
+       dump(BE_CH_DUMP_SPILLSLOTS, irg, NULL, "-spillslots", dump_ir_block_graph_sched);
 
        BE_TIMER_PUSH(ra_timer.t_epilog);
 
index 9f6e70e..3c7e7bb 100644 (file)
@@ -108,9 +108,10 @@ enum {
        BE_CH_DUMP_SSADESTR   = (1 << 5),
        BE_CH_DUMP_TREE_INTV  = (1 << 6),
        BE_CH_DUMP_CONSTR     = (1 << 7),
-       BE_CH_DUMP_LOWER      = (1 << 8),
-       BE_CH_DUMP_APPEL      = (1 << 9),
-       BE_CH_DUMP_ALL        = 2 * BE_CH_DUMP_LOWER - 1,
+       BE_CH_DUMP_SPILLSLOTS = (1 << 8),
+       BE_CH_DUMP_LOWER      = (1 << 9),
+       BE_CH_DUMP_APPEL      = (1 << 10),
+       BE_CH_DUMP_ALL        = 2 * BE_CH_DUMP_APPEL - 1,
 
        /* ifg flavor */
        BE_CH_IFG_STD     = 1,
index 7c89ba9..0be7cff 100644 (file)
@@ -1365,6 +1365,25 @@ static int dump_node(ir_node *irn, FILE *f, dump_reason_t reason)
                                        if (a->ent)
                                                fprintf(f, "\ncalling: %s\n", get_entity_name(a->ent));
                                }
+                               break;
+                       case beo_MemPerm:
+                               {
+                                       int i;
+                                       be_memperm_attr_t *a = (be_memperm_attr_t*) at;
+                                       for(i = 0; i < get_irn_arity(irn); ++i) {
+                                               entity *in, *out;
+                                               in = be_get_MemPerm_in_entity(irn, i);
+                                               out = be_get_MemPerm_out_entity(irn, i);
+                                               if(in) {
+                                                       fprintf(f, "\nin[%d]: %s\n", i, get_entity_name(in));
+                                               }
+                                               if(out) {
+                                                       fprintf(f, "\nout[%d]: %s\n", i, get_entity_name(out));
+                                               }
+                                       }
+                               }
+                               break;
+
                        default:
                                break;
                        }