OSDN Git Service

2007-06-18 Kenneth Zadeck <zadeck@naturalbridge.com>
authorzadeck <zadeck@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 18 Jun 2007 16:47:05 +0000 (16:47 +0000)
committerzadeck <zadeck@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 18 Jun 2007 16:47:05 +0000 (16:47 +0000)
PR middle-end/32355
* gcse (rest_of_handle_gcse): Add call to df_finish_pass after
cse_main.
* df-problems.c (df_note_bb_compute): Fix dumping info.

2007-06-18  Kenneth Zadeck <zadeck@naturalbridge.com>

* gcc.c-torture/compile/pr32355.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@125812 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/df-problems.c
gcc/gcse.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/compile/pr32355.c [new file with mode: 0644]

index 8c847c7..00b1ec9 100644 (file)
@@ -1,3 +1,10 @@
+2007-06-18  Kenneth Zadeck <zadeck@naturalbridge.com>
+
+       PR middle-end/32355
+       * gcse (rest_of_handle_gcse): Add call to df_finish_pass after
+       cse_main.
+       * df-problems.c (df_note_bb_compute): Fix dumping info.
+       
 2007-06-18  Kazu Hirata  <kazu@codesourcery.com>
 
        * config/m68k/m68k.c (m68k_expand_epilogue): Emit a return
index 79b2f42..dc5270e 100644 (file)
@@ -3867,8 +3867,10 @@ df_note_bb_compute (unsigned int bb_index,
   for (def_rec = df_get_artificial_defs (bb_index); *def_rec; def_rec++)
     {
       struct df_ref *def = *def_rec;
+#ifdef REG_DEAD_DEBUGGING
       if (dump_file)
        fprintf (dump_file, "artificial def %d\n", DF_REF_REGNO (def));
+#endif
 
       if ((DF_REF_FLAGS (def) & DF_REF_AT_TOP) == 0)
        bitmap_clear_bit (live, DF_REF_REGNO (def));
index 8517e38..828ee6b 100644 (file)
@@ -6704,6 +6704,7 @@ rest_of_handle_gcse (void)
     {
       timevar_push (TV_CSE);
       tem2 = cse_main (get_insns (), max_reg_num ());
+      df_finish_pass ();
       purge_all_dead_edges ();
       delete_trivially_dead_insns (get_insns (), max_reg_num ());
       timevar_pop (TV_CSE);
index 845cd6b..7550286 100644 (file)
@@ -1,3 +1,7 @@
+2007-06-18  Kenneth Zadeck <zadeck@naturalbridge.com>
+
+       * gcc.c-torture/compile/pr32355.c: New testcase.
+       
 2007-06-18  Uros Bizjak  <ubizjak@gmail.com>
 
        PR tree-optimization/32383
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr32355.c b/gcc/testsuite/gcc.c-torture/compile/pr32355.c
new file mode 100644 (file)
index 0000000..126412d
--- /dev/null
@@ -0,0 +1,33 @@
+/* { dg-options "-O3" } */
+
+typedef struct
+{
+}
+__sigset_t;
+typedef struct
+{
+    char coredump;
+}
+EMode;
+extern EMode Mode;
+struct sigaction
+{
+  __sigset_t sa_mask;
+  int sa_flags;
+};
+doSignalsSetup (void)
+{
+  static const int signals[] = {
+    1, 2 , 3, 4, 6, 8, 11, 13, 14, 15, 10, 12, 17, 7
+  };
+  unsigned int i, sig;
+  struct sigaction sa;
+  for (i = 0; i < sizeof (signals) / sizeof (int); i++)
+    {
+      sig = signals[i];
+      if (Mode.coredump && (sig == 4 || sig == 8))
+        continue;
+      sa.sa_flags = (sig == 17);
+      sigemptyset (&sa.sa_mask);
+    }
+}