re PR rtl-optimization/80491 (Compiler regression for long-add case.)
authorJakub Jelinek <jakub@redhat.com>
Sat, 29 Apr 2017 16:17:13 +0000 (18:17 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Sat, 29 Apr 2017 16:17:13 +0000 (18:17 +0200)
PR rtl-optimization/80491
* alias.c (memory_modified_in_insn_p): Return true for CALL_INSNs.

From-SVN: r247409

gcc/ChangeLog
gcc/alias.c

index 3e3474701d5c1fcf8d161e813dfe46d2988a16eb..9a9d192d01a5f1972a0be78f8ed6e24500518523 100644 (file)
@@ -1,3 +1,8 @@
+2017-04-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/80491
+       * alias.c (memory_modified_in_insn_p): Return true for CALL_INSNs.
+
 2017-04-29  Marc Glisse  <marc.glisse@inria.fr>
 
        PR tree-optimization/80487
index e16e3501522e539f07759c4188aebb9f9ae859b6..cff4fac26ed4e82995d76ef6af33799ab8fad53b 100644 (file)
@@ -3221,6 +3221,10 @@ memory_modified_in_insn_p (const_rtx mem, const_rtx insn)
 {
   if (!INSN_P (insn))
     return false;
+  /* Conservatively assume all non-readonly MEMs might be modified in
+     calls.  */
+  if (CALL_P (insn))
+    return true;
   memory_modified = false;
   note_stores (PATTERN (insn), memory_modified_1, CONST_CAST_RTX(mem));
   return memory_modified;