OSDN Git Service

* tree-ssa.c (find_released_ssa_name): Handle NULL wi.
[pf3gnuchains/gcc-fork.git] / gcc / regmove.c
index a411183..581af4c 100644 (file)
@@ -44,6 +44,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "timevar.h"
 #include "tree-pass.h"
 #include "df.h"
+#include "ira.h"
 
 static int optimize_reg_copy_1 (rtx, rtx, rtx);
 static void optimize_reg_copy_2 (rtx, rtx, rtx);
@@ -184,7 +185,9 @@ try_auto_increment (rtx insn, rtx inc_insn, rtx inc_insn_set, rtx reg,
                   &SET_SRC (inc_insn_set),
                   XEXP (SET_SRC (inc_insn_set), 0), 1);
              validate_change (insn, &XEXP (use, 0),
-                              gen_rtx_fmt_e (inc_code, Pmode, reg), 1);
+                              gen_rtx_fmt_e (inc_code,
+                                             GET_MODE (XEXP (use, 0)), reg),
+                              1);
              if (apply_change_group ())
                {
                  /* If there is a REG_DEAD note on this insn, we must
@@ -1226,6 +1229,9 @@ regmove_optimize (void)
   df_note_add_problem ();
   df_analyze ();
 
+  if (flag_ira_loop_pressure)
+    ira_set_pseudo_classes (dump_file);
+
   regstat_init_n_sets_and_refs ();
   regstat_compute_ri ();
 
@@ -1248,6 +1254,8 @@ regmove_optimize (void)
     }
   regstat_free_n_sets_and_refs ();
   regstat_free_ri ();
+  if (flag_ira_loop_pressure)
+    free_reg_info ();
   return 0;
 }