OSDN Git Service

gcc/
[pf3gnuchains/gcc-fork.git] / gcc / df-problems.c
index 043cf38..abb34d0 100644 (file)
@@ -109,8 +109,7 @@ df_grow_bb_info (struct dataflow *dflow)
   if (dflow->block_info_size < new_size)
     {
       new_size += new_size / 4;
-      dflow->block_info = xrealloc (dflow->block_info, 
-                                   new_size *sizeof (void*));
+      dflow->block_info = XRESIZEVEC (void *, dflow->block_info, new_size);
       memset (dflow->block_info + dflow->block_info_size, 0,
              (new_size - dflow->block_info_size) *sizeof (void *));
       dflow->block_info_size = new_size;
@@ -129,7 +128,7 @@ df_chain_dump (struct df_link *link, FILE *file)
               DF_REF_REG_DEF_P (link->ref) ? 'd' : 'u',
               DF_REF_ID (link->ref),
               DF_REF_BBNO (link->ref),
-              DF_REF_INSN (link->ref) ? DF_REF_INSN_UID (link->ref) : -1);
+              DF_REF_INSN_INFO (link->ref) ? DF_REF_INSN_UID (link->ref) : -1);
     }
   fprintf (file, "}");
 }
@@ -1429,15 +1428,15 @@ df_live_bb_local_compute (unsigned int bb_index)
       if (!insn_info)
        {
          gcc_assert (!INSN_P (insn));
-         df_insn_create_insn_record (insn);
+         insn_info = df_insn_create_insn_record (insn);
        }
 
-      DF_INSN_LUID (insn) = luid;
+      DF_INSN_INFO_LUID (insn_info) = luid;
       if (!INSN_P (insn))
        continue;
 
       luid++;
-      for (def_rec = DF_INSN_UID_DEFS (uid); *def_rec; def_rec++)
+      for (def_rec = DF_INSN_INFO_DEFS (insn_info); *def_rec; def_rec++)
        {
          struct df_ref *def = *def_rec;
          unsigned int regno = DF_REF_REGNO (def);
@@ -1862,7 +1861,7 @@ struct df_link *
 df_chain_create (struct df_ref *src, struct df_ref *dst)
 {
   struct df_link *head = DF_REF_CHAIN (src);
-  struct df_link *link = pool_alloc (df_chain->block_pool);
+  struct df_link *link = (struct df_link *) pool_alloc (df_chain->block_pool);
   
   DF_REF_CHAIN (src) = link;
   link->next = head;
@@ -2201,14 +2200,14 @@ df_chain_top_dump (basic_block bb, FILE *file)
 
       FOR_BB_INSNS (bb, insn)
        {
-         unsigned int uid = INSN_UID (insn);
          if (INSN_P (insn))
            {
-             def_rec = DF_INSN_UID_DEFS (uid);
+             struct df_insn_info *insn_info = DF_INSN_INFO_GET (insn);
+             def_rec = DF_INSN_INFO_DEFS (insn_info);
              if (*def_rec)
                {
                  fprintf (file, ";;   DU chains for insn luid %d uid %d\n", 
-                          DF_INSN_LUID (insn), uid);
+                          DF_INSN_INFO_LUID (insn_info), INSN_UID (insn));
                  
                  while (*def_rec)
                    {
@@ -2250,15 +2249,15 @@ df_chain_bottom_dump (basic_block bb, FILE *file)
 
       FOR_BB_INSNS (bb, insn)
        {
-         unsigned int uid = INSN_UID (insn);
          if (INSN_P (insn))
            {
-             struct df_ref **eq_use_rec = DF_INSN_UID_EQ_USES (uid);
-             use_rec = DF_INSN_UID_USES (uid);
+             struct df_insn_info *insn_info = DF_INSN_INFO_GET (insn);
+             struct df_ref **eq_use_rec = DF_INSN_INFO_EQ_USES (insn_info);
+             use_rec = DF_INSN_INFO_USES (insn_info);
              if (*use_rec || *eq_use_rec)
                {
                  fprintf (file, ";;   UD chains for insn luid %d uid %d\n", 
-                          DF_INSN_LUID (insn), uid);
+                          DF_INSN_INFO_LUID (insn_info), INSN_UID (insn));
                  
                  while (*use_rec)
                    {
@@ -2515,8 +2514,9 @@ df_byte_lr_alloc (bitmap all_blocks ATTRIBUTE_UNUSED)
        {
          if (INSN_P (insn))
            {
-             df_byte_lr_check_regs (DF_INSN_DEFS (insn));
-             df_byte_lr_check_regs (DF_INSN_USES (insn));
+             struct df_insn_info *insn_info = DF_INSN_INFO_GET (insn);
+             df_byte_lr_check_regs (DF_INSN_INFO_DEFS (insn_info));
+             df_byte_lr_check_regs (DF_INSN_INFO_USES (insn_info));
            }
        }
       bitmap_set_bit (df_byte_lr->out_of_date_transfer_functions, bb->index);
@@ -3170,28 +3170,28 @@ df_kill_notes (rtx insn, rtx *old_dead_notes, rtx *old_unused_notes)
 static inline rtx
 df_set_note (enum reg_note note_type, rtx insn, rtx old, rtx reg)
 {
-  rtx this = old;
+  rtx curr = old;
   rtx prev = NULL;
 
-  while (this)
-    if (XEXP (this, 0) == reg)
+  while (curr)
+    if (XEXP (curr, 0) == reg)
       {
        if (prev)
-         XEXP (prev, 1) = XEXP (this, 1);
+         XEXP (prev, 1) = XEXP (curr, 1);
        else
-         old = XEXP (this, 1);
-       XEXP (this, 1) = REG_NOTES (insn);
-       REG_NOTES (insn) = this;
+         old = XEXP (curr, 1);
+       XEXP (curr, 1) = REG_NOTES (insn);
+       REG_NOTES (insn) = curr;
        return old;
       }
     else
       {
-       prev = this;
-       this = XEXP (this, 1);
+       prev = curr;
+       curr = XEXP (curr, 1);
       }
   
   /* Did not find the note.  */
-  REG_NOTES (insn) = alloc_EXPR_LIST (note_type, reg, REG_NOTES (insn));
+  add_reg_note (insn, note_type, reg);
   return old;
 }