aboutsummaryrefslogtreecommitdiff
path: root/gcc/alias.c
diff options
context:
space:
mode:
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>2001-03-12 19:09:57 +0000
committerRichard Kenner <kenner@gcc.gnu.org>2001-03-12 14:09:57 -0500
commite8ea2809d0dd85f1a235ba868897da51b79fca64 (patch)
tree01a1f60a4828fbe8cab90871760e677dc8ecc6fa /gcc/alias.c
parent89c9653e9a01c49fbd758547482629a728fda3a0 (diff)
downloadgcc-e8ea2809d0dd85f1a235ba868897da51b79fca64.zip
gcc-e8ea2809d0dd85f1a235ba868897da51b79fca64.tar.gz
gcc-e8ea2809d0dd85f1a235ba868897da51b79fca64.tar.bz2
flow.c (insn_dead_p): Don't consider two memrefs equivalent unless anti_dependence says they are.
* flow.c (insn_dead_p): Don't consider two memrefs equivalent unless anti_dependence says they are. * alias.c (objects_must_conflict): If neither has a type specified, they must conflict. From-SVN: r40420
Diffstat (limited to 'gcc/alias.c')
-rw-r--r--gcc/alias.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/alias.c b/gcc/alias.c
index 85bce38..6d794ba 100644
--- a/gcc/alias.c
+++ b/gcc/alias.c
@@ -309,6 +309,12 @@ int
objects_must_conflict_p (t1, t2)
tree t1, t2;
{
+ /* If neither has a type specified, we don't know if they'll conflict
+ because we may be using them to store objects of various types, for
+ example the argument and local variables areas of inlined functions. */
+ if (t1 == 0 && t1 == 0)
+ return 0;
+
/* If one or the other has readonly fields or is readonly,
then they may not conflict. */
if ((t1 != 0 && readonly_fields_p (t1))