Commit 297c3335 by Richard Henderson Committed by Richard Henderson

gcse.c (hash_expr_1): Add in MEM_ALIAS_SET.

        * gcse.c (hash_expr_1): Add in MEM_ALIAS_SET.
        (expr_equiv_p): Reject memories with different alias sets.

From-SVN: r30039
parent 9329983a
Sat Oct 16 00:07:01 1999 Richard Henderson <rth@cygnus.com>
* gcse.c (hash_expr_1): Add in MEM_ALIAS_SET.
(expr_equiv_p): Reject memories with different alias sets.
Fri Oct 15 15:17:29 1999 Greg McGary <gkm@gnu.org>
* flags.h (flag_bounds_check, flag_bounded_pointers): New extern decls.
......
......@@ -1446,6 +1446,7 @@ hash_expr_1 (x, mode, do_not_record_p)
return 0;
}
hash += (unsigned) MEM;
hash += MEM_ALIAS_SET (x);
x = XEXP (x, 0);
goto repeat;
......@@ -1578,6 +1579,14 @@ expr_equiv_p (x, y)
case REG:
return REGNO (x) == REGNO (y);
case MEM:
/* Can't merge two expressions in different alias sets, since we can
decide that the expression is transparent in a block when it isn't,
due to it being set with the different alias set. */
if (MEM_ALIAS_SET (x) != MEM_ALIAS_SET (y))
return 0;
break;
/* For commutative operations, check both orders. */
case PLUS:
case MULT:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment