optimize_graph_df():
[libfirm] / ir / ir / irprintf.c
index 560340e..9466376 100644 (file)
@@ -5,7 +5,7 @@
  * Author:      Sebastian Hack
  * Created:     29.11.2004
  * CVS-ID:      $Id$
- * Copyright:   (c) 1998-2004 Universität Karlsruhe
+ * Copyright:   (c) 1998-2006 Universität Karlsruhe
  * Licence:     This file protected by GPL -  GNU GENERAL PUBLIC LICENSE.
  */
 
@@ -328,15 +328,21 @@ static void firm_emit(char *buf, int buflen, char conversion,
           case symconst_type_tag:    /* type tag */
             snprintf(tv_buf, sizeof(tv_buf), "<ID:%s>", get_type_name(get_SymConst_type(X)));
             break;
-          case symconst_size:        /* type size */
+          case symconst_type_size:   /* type size */
             snprintf(tv_buf, sizeof(tv_buf), "<SIZE:%s>", get_type_name(get_SymConst_type(X)));
             break;
+          case symconst_type_align:  /* type alignment */
+            snprintf(tv_buf, sizeof(tv_buf), "<ALIGN:%s>", get_type_name(get_SymConst_type(X)));
+            break;
           case symconst_addr_name:   /* linker name */
             snprintf(tv_buf, sizeof(tv_buf), "<EXT:%s>", get_id_str(get_SymConst_name(X)));
             break;
           case symconst_addr_ent:    /* entity name */
             snprintf(tv_buf, sizeof(tv_buf), "<%s>", get_entity_name(get_SymConst_entity(X)));
             break;
+          case symconst_enum_const:  /* enumeration constant */
+            snprintf(tv_buf, sizeof(tv_buf), "<ENUM:%s>", get_enumeration_name(get_SymConst_enum(X)));
+            break;
           default:
             tv_buf[0] = '\0';
           }
@@ -346,7 +352,7 @@ static void firm_emit(char *buf, int buflen, char conversion,
         else
           snprintf(buf, buflen, "%s%s%s", A("irn"), get_irn_opname(X),
             get_mode_name(get_irn_mode(X)));
-        snprintf(add, sizeof(add), "[%ld]", get_irn_node_nr(X));
+        snprintf(add, sizeof(add), "[%ld:%d]", get_irn_node_nr(X), get_irn_idx(X));
       }
       break;
     case k_ir_mode:
@@ -357,7 +363,7 @@ static void firm_emit(char *buf, int buflen, char conversion,
       snprintf(buf, buflen, "%s%s", A("tv"), tv_buf);
       break;
     case k_ir_loop:
-      snprintf(buf, buflen, "ldepth[%d]", get_loop_depth(X));
+      snprintf(buf, sizeof(buf), "loop[%d:%d]", get_loop_loop_nr(X), get_loop_depth(X));
       break;
     case k_ir_op:
       snprintf(buf, buflen, "%s%s", A("op"), get_op_name(X));
@@ -475,18 +481,27 @@ static void ir_common_vprintf(const appender_t *app, void *object,
                                case 'h':
                                        len_str = "h";
                                        len = len_short;
-                                       if((ch = fmt[++i]) == 'h') {
+                                       ++i;
+                                       if((ch = fmt[i]) == 'h') {
                                                len_str = "hh";
                                                len = len_char;
+                                               ++i;
                                        }
                                        break;
 
                                case 'l':
                                        len_str = "l";
                                        len = len_long;
-                                       if((ch = fmt[++i]) == 'l') {
+                                       ++i;
+                                       if ((ch = fmt[i]) == 'l') {
                                                len_str = "ll";
                                                len = len_long_long;
+                                               ++i;
+                                       }
+                                       else if ((ch = fmt[i]) == 'u') {
+                                               len_str = "lu";
+                                               len = len_long_long;
+                                               ++i;
                                        }
                                        break;