OSDN Git Service

2007-09-13 James E. Wilson <wilson@specifix.com>
authorhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 13 Sep 2007 16:33:49 +0000 (16:33 +0000)
committerhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 13 Sep 2007 16:33:49 +0000 (16:33 +0000)
PR tree-optimization/33389
* tree-ssa-operands.c (append_vuse): If ann->in_vdef_list true,
then set build_loads before returning.

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

gcc/ChangeLog
gcc/tree-ssa-operands.c

index 7f50b61..4ea43d0 100644 (file)
@@ -1,3 +1,9 @@
+2007-09-13  James E. Wilson  <wilson@specifix.com>
+
+       PR tree-optimization/33389
+       * tree-ssa-operands.c (append_vuse): If ann->in_vdef_list true,
+       then set build_loads before returning.
+
 2007-09-13  Sandra Loosemore  <sandra@codesourcery.com>
            David Ung  <davidu@mips.com>
 
index 3562e71..5c7a9e0 100644 (file)
@@ -1164,8 +1164,15 @@ append_vuse (tree var)
 
       /* Don't allow duplicate entries.  */
       ann = get_var_ann (var);
-      if (ann->in_vuse_list || ann->in_vdef_list)
+      if (ann->in_vuse_list)
        return;
+      else if (ann->in_vdef_list)
+       {
+         /* We don't want a vuse if we already have a vdef, but we must
+            still put this in build_loads.  */
+         bitmap_set_bit (build_loads, DECL_UID (var));
+         return;
+       }
 
       ann->in_vuse_list = true;
       sym = var;