* alias.c (read_dependence): Return true for ALIAS_SET_MEMORY_BARRIER.

From-SVN: r190941
This commit is contained in:
Richard Henderson 2012-09-04 11:16:24 -07:00 committed by Richard Henderson
parent 1a044f416a
commit 96672a3e82
2 changed files with 12 additions and 2 deletions

View File

@ -1,3 +1,7 @@
2012-09-04 Richard Henderson <rth@redhat.com>
* alias.c (read_dependence): Return true for ALIAS_SET_MEMORY_BARRIER.
2012-09-04 Richard Guenther <rguenther@suse.de>
* tree-ssa-pre.c (value_expressions): Make it a vector of

View File

@ -2177,12 +2177,18 @@ memrefs_conflict_p (int xsize, rtx x, int ysize, rtx y, HOST_WIDE_INT c)
storeqi_unaligned pattern. */
/* Read dependence: X is read after read in MEM takes place. There can
only be a dependence here if both reads are volatile. */
only be a dependence here if both reads are volatile, or if either is
an explicit barrier. */
int
read_dependence (const_rtx mem, const_rtx x)
{
return MEM_VOLATILE_P (x) && MEM_VOLATILE_P (mem);
if (MEM_VOLATILE_P (x) && MEM_VOLATILE_P (mem))
return true;
if (MEM_ALIAS_SET (x) == ALIAS_SET_MEMORY_BARRIER
|| MEM_ALIAS_SET (mem) == ALIAS_SET_MEMORY_BARRIER)
return true;
return false;
}
/* Return true if we can determine that the fields referenced cannot