]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR tree-optimization/21171 (IV OPTS removes does not create a new VOPs for constan...
authorZdenek Dvorak <dvorakz@suse.cz>
Mon, 13 Jun 2005 19:24:33 +0000 (21:24 +0200)
committerZdenek Dvorak <rakdver@gcc.gnu.org>
Mon, 13 Jun 2005 19:24:33 +0000 (19:24 +0000)
PR tree-optimization/21171
* tree-ssa-loop-ivopts.c (find_interesting_uses_address): Do not
record address uses if the reference is volatile.

* gcc.dg/tree-ssa/pr21171.c: New test.

From-SVN: r100895

gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/tree-ssa-loop-ivopts.c

index 52a19d45ea0ff1be69521909071b995af152d12e..686a893f4d73932ce582129b614c5ea1b30ad9f3 100644 (file)
@@ -1,3 +1,9 @@
+2005-06-08  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       PR tree-optimization/21171
+       * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Do not
+       record address uses if the reference is volatile.
+
 2005-06-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
 
        PR target/21889
index 3cbcf257c65bfe8ab6878ba5c65fd4c4a6baa97c..47c97dad12fdba2c9cdbf637d93556a932dbfe37 100644 (file)
@@ -1,3 +1,8 @@
+2005-06-08  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       PR tree-optimization/21171
+       * gcc.dg/tree-ssa/pr21171.c: New test.
+
 2005-06-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
 
        * gcc.dg/tls/debug-1.c: New test.
index 796946369d358aa6cd0a86026e8bcb8ae609931d..f10b98cd9867b19c3b1c6d6f7aa2dd8e877d4212 100644 (file)
@@ -1507,6 +1507,11 @@ find_interesting_uses_address (struct ivopts_data *data, tree stmt, tree *op_p)
   struct iv *civ;
   struct ifs_ivopts_data ifs_ivopts_data;
 
+  /* Do not play with volatile memory references.  A bit too conservative,
+     perhaps, but safe.  */
+  if (stmt_ann (stmt)->has_volatile_ops)
+    goto fail;
+
   /* Ignore bitfields for now.  Not really something terribly complicated
      to handle.  TODO.  */
   if (TREE_CODE (base) == COMPONENT_REF