Patchwork PR tree-optimization/54985

login
register
mail settings
Submitter Sharad Singhai
Date Oct. 23, 2012, 11:54 p.m.
Message ID <CAKxPW66cRW=xVjsfcuKBJO2QzgNOUXshvJGeL1g_Bj0FbeLwzQ@mail.gmail.com>
Download mbox | patch
Permalink /patch/193608/
State New
Headers show

Comments

Sharad Singhai - Oct. 23, 2012, 11:54 p.m.
The following trivial patch seems to fix it.

Sharad


On Tue, Oct 23, 2012 at 4:48 PM, Sharad Singhai <singhai@google.com> wrote:
> The trunk seems to be broken at r192749 due to this patch.
>
> ../../srctrunk/gcc/tree-ssa-threadedge.c: In function ‘void
> thread_across_edge(gimple_statement_d*, edge_def*, bool,
> vec_t<tree_node*>**, tree_node* (*)(gimple_statement_d*,
> gimple_statement_d*))’:
> ../../srctrunk/gcc/tree-ssa-threadedge.c:583: error: too many
> arguments to function ‘bool cond_arg_set_in_bb(edge_def*,
> basic_block_def*)’
> ../../srctrunk/gcc/tree-ssa-threadedge.c:746: error: at this point in file
> ../../srctrunk/gcc/tree-ssa-threadedge.c:583: error: too many
> arguments to function ‘bool cond_arg_set_in_bb(edge_def*,
> basic_block_def*)’
> ../../srctrunk/gcc/tree-ssa-threadedge.c:790: error: at this point in file
> ../../srctrunk/gcc/tree-ssa-threadedge.c:583: error: too many
> arguments to function ‘bool cond_arg_set_in_bb(edge_def*,
> basic_block_def*)’
> ../../srctrunk/gcc/tree-ssa-threadedge.c:849: error: at this point in file
> make: *** [tree-ssa-threadedge.o] Error 1
>
> Sharad

Patch

Index: tree-ssa-threadedge.c
===================================================================
--- tree-ssa-threadedge.c (revision 192749)
+++ tree-ssa-threadedge.c (working copy)
@@ -743,7 +743,7 @@ 
      safe to thread this edge.  */
   if (e->flags & EDGE_DFS_BACK)
     {
-      if (cond_arg_set_in_bb (e, e->dest, 1))
+      if (cond_arg_set_in_bb (e, e->dest))
  goto fail;
     }

@@ -787,7 +787,7 @@ 
      of threading without having to re-run DOM or VRP.  */
   if (dest
       && ((e->flags & EDGE_DFS_BACK) == 0
-  || ! cond_arg_set_in_bb (taken_edge, e->dest, 2)))
+  || ! cond_arg_set_in_bb (taken_edge, e->dest)))
     {
       /* We don't want to thread back to a block we have already
  visited.  This may be overly conservative.  */
@@ -846,7 +846,7 @@ 
  do
   {
     if ((e->flags & EDGE_DFS_BACK) == 0
- || ! cond_arg_set_in_bb (e3, e->dest, 3))
+ || ! cond_arg_set_in_bb (e3, e->dest))
       e2 = thread_around_empty_block (e3,
       dummy_cond,
       handle_dominating_asserts,