]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
tree-pass.h (TODO_verify_il): Define.
authorRichard Biener <rguenther@suse.de>
Mon, 28 Apr 2014 14:42:06 +0000 (14:42 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Mon, 28 Apr 2014 14:42:06 +0000 (14:42 +0000)
2014-04-28  Richard Biener  <rguenther@suse.de>

* tree-pass.h (TODO_verify_il): Define.
(TODO_verify_all): Complete properly.
* passes.c (execute_function_todo): Move existing loop-closed
SSA verification under TODO_verify_il.
(execute_one_pass): Trigger TODO_verify_il at todo-after time.
* graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps):
Fix tree sharing issue.

From-SVN: r209865

gcc/ChangeLog
gcc/graphite-sese-to-poly.c
gcc/passes.c
gcc/tree-pass.h

index 5e9a1295bf31f9c11f0f95cab1d015d6b8e97583..7a1894b380430afddd00f022da4986d846fbc8c1 100644 (file)
@@ -1,3 +1,13 @@
+2014-04-28  Richard Biener  <rguenther@suse.de>
+
+       * tree-pass.h (TODO_verify_il): Define.
+       (TODO_verify_all): Complete properly.
+       * passes.c (execute_function_todo): Move existing loop-closed
+       SSA verification under TODO_verify_il.
+       (execute_one_pass): Trigger TODO_verify_il at todo-after time.
+       * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps):
+       Fix tree sharing issue.
+
 2014-04-28  Richard Biener  <rguenther@suse.de>
 
        PR middle-end/60092
index 28447e4b6fe80080f6767f2f5f3cf9c7c803c391..3c5cdf3c90e57fbe3a294dc42ae3fb12cdbd3651 100644 (file)
@@ -2470,7 +2470,7 @@ rewrite_cross_bb_scalar_deps (scop_p scop, gimple_stmt_iterator *gsi)
            gsi_next (gsi);
          }
 
-       rewrite_cross_bb_scalar_dependence (scop, zero_dim_array,
+       rewrite_cross_bb_scalar_dependence (scop, unshare_expr (zero_dim_array),
                                            def, use_stmt);
       }
 
index c0a76d62d215270d994a87cebf02726defbeba88..45f31d79521f89f3b0c8144757e3a0235acd5231 100644 (file)
@@ -1768,8 +1768,7 @@ execute_function_todo (function *fn, void *data)
     }
 
 #if defined ENABLE_CHECKING
-  if (flags & TODO_verify_ssa
-      || (current_loops && loops_state_satisfies_p (LOOP_CLOSED_SSA)))
+  if (flags & TODO_verify_ssa)
     {
       verify_gimple_in_cfg (cfun);
       verify_ssa (true);
@@ -1778,8 +1777,18 @@ execute_function_todo (function *fn, void *data)
     verify_gimple_in_cfg (cfun);
   if (flags & TODO_verify_flow)
     verify_flow_info ();
-  if (current_loops && loops_state_satisfies_p (LOOP_CLOSED_SSA))
-    verify_loop_closed_ssa (false);
+  if (flags & TODO_verify_il)
+    {
+      if (current_loops
+         && loops_state_satisfies_p (LOOP_CLOSED_SSA))
+       {
+         if (!(flags & (TODO_verify_stmts|TODO_verify_ssa)))
+           verify_gimple_in_cfg (cfun);
+         if (!(flags & TODO_verify_ssa))
+           verify_ssa (true);
+         verify_loop_closed_ssa (false);
+       }
+    }
   if (flags & TODO_verify_rtl_sharing)
     verify_rtl_sharing ();
 #endif
@@ -2167,7 +2176,7 @@ execute_one_pass (opt_pass *pass)
     check_profile_consistency (pass->static_pass_number, 0, true);
 
   /* Run post-pass cleanup and verification.  */
-  execute_todo (todo_after | pass->todo_flags_finish);
+  execute_todo (todo_after | pass->todo_flags_finish | TODO_verify_il);
   if (profile_report && cfun && (cfun->curr_properties & PROP_cfg))
     check_profile_consistency (pass->static_pass_number, 1, true);
 
index 0d941019f0ee5fd820fa4a769c0f27501da10b37..616e85bd5a00c05d2522c8a423e822f9b8792b94 100644 (file)
@@ -234,6 +234,7 @@ protected:
 #define TODO_verify_flow               (1 << 3)
 #define TODO_verify_stmts              (1 << 4)
 #define TODO_cleanup_cfg               (1 << 5)
+#define TODO_verify_il                 (1 << 6)
 #define TODO_dump_symtab               (1 << 7)
 #define TODO_remove_functions          (1 << 8)
 #define TODO_rebuild_frequencies       (1 << 9)
@@ -309,7 +310,8 @@ protected:
      | TODO_update_ssa_only_virtuals)
 
 #define TODO_verify_all \
-  (TODO_verify_ssa | TODO_verify_flow | TODO_verify_stmts)
+  (TODO_verify_ssa | TODO_verify_flow | TODO_verify_stmts | TODO_verify_il \
+   | TODO_verify_rtl_sharing)
 
 
 /* Register pass info. */