fixed debug output of unary x87 nodes
[libfirm] / ir / be / ia32 / ia32_emitter.c
index 357369c..1ffccc8 100644 (file)
@@ -1967,7 +1967,7 @@ static void ia32_emit_align_label(FILE *F, cpu_support cpu) {
        unsigned align; unsigned maximum_skip;
 
        /* gcc doesn't emit alignment for p4 ?*/
-    if (cpu == arch_pentium_4)
+       if (cpu == arch_pentium_4)
                return;
 
        switch (cpu) {
@@ -1994,6 +1994,7 @@ static void ia32_gen_block(ir_node *block, void *env) {
        ia32_emit_env_t *emit_env = env;
        const ir_node *irn;
        int need_label = block != get_irg_start_block(get_irn_irg(block));
+       FILE *F = emit_env->out;
 
        if (! is_Block(block))
                return;
@@ -2005,10 +2006,27 @@ static void ia32_gen_block(ir_node *block, void *env) {
        }
 
        if (need_label) {
+               char cmd_buf[SNPRINTF_BUF_LEN];
+               int i, arity;
+
                ia32_emit_align_label(emit_env->out, emit_env->isa->opt_arch);
-               fprintf(emit_env->out, BLOCK_PREFIX("%ld:\n"), get_irn_node_nr(block));
+
+               ir_snprintf(cmd_buf, sizeof(cmd_buf), BLOCK_PREFIX("%d:"),
+                           get_irn_node_nr(block));
+               fprintf(F, "%-43s ", cmd_buf);
+
+               /* emit list of pred blocks in comment */
+               fprintf(F, "/* preds:");
+
+               arity = get_irn_arity(block);
+               for(i = 0; i < arity; ++i) {
+                       ir_node *predblock = get_Block_cfgpred_block(block, i);
+                       fprintf(F, " %ld", get_irn_node_nr(predblock));
+               }
+               fprintf(F, " */\n");
        }
 
+       /* emit the contents of the block */
        sched_foreach(block, irn) {
                ia32_emit_node(irn, env);
        }