* alias.c (read_dependence): Return true for ALIAS_SET_MEMORY_BARRIER.
From-SVN: r190941
This commit is contained in:
parent
1a044f416a
commit
96672a3e82
@ -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
|
||||
|
10
gcc/alias.c
10
gcc/alias.c
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user