diff options
author | Joern Rennecke <joern.rennecke@embecosm.com> | 2013-06-16 14:59:41 +0000 |
---|---|---|
committer | Joern Rennecke <amylaar@gcc.gnu.org> | 2013-06-16 15:59:41 +0100 |
commit | 393f9fedf35f006eb9c8c5ca185ae99aa2a0cce6 (patch) | |
tree | 287eb151099ae1ad14535d80694e42ba6df3f9d0 /gcc/cselib.c | |
parent | b259d352ca69bed852c775145cdcd5d48bb45d1e (diff) | |
download | gcc-393f9fedf35f006eb9c8c5ca185ae99aa2a0cce6.zip gcc-393f9fedf35f006eb9c8c5ca185ae99aa2a0cce6.tar.gz gcc-393f9fedf35f006eb9c8c5ca185ae99aa2a0cce6.tar.bz2 |
re PR rtl-optimization/57425 (RTL alias analysis unprepared to handle stack slot sharing)
gcc:
PR rtl-optimization/57425
PR rtl-optimization/57569
* alias.c (write_dependence_p): Add new parameters mem_size,
canon_mem_addr and mem_canonicalized. Change type of writep to bool.
Changed all callers.
(canon_anti_dependence): New function.
* cse.c (check_dependence): Use canon_anti_dependence.
* cselib.c (cselib_invalidate_mem): Likewise.
* rtl.h (canon_anti_dependence): Declare.
gcc/testsuite:
PR rtl-optimization/57425
PR rtl-optimization/57569
* gcc.dg/torture/pr57425-1.c, gcc.dg/torture/pr57425-2.c: New files.
* gcc.dg/torture/pr57425-3.c, gcc.dg/torture/pr57569.c: Likewise.
Index: alias.c
===================================================================
--- alias.c (revision 200126)
From-SVN: r200133
Diffstat (limited to 'gcc/cselib.c')
-rw-r--r-- | gcc/cselib.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/cselib.c b/gcc/cselib.c index 589e41e..2c73535 100644 --- a/gcc/cselib.c +++ b/gcc/cselib.c @@ -2263,8 +2263,8 @@ cselib_invalidate_mem (rtx mem_rtx) continue; } if (num_mems < PARAM_VALUE (PARAM_MAX_CSELIB_MEMORY_LOCATIONS) - && ! canon_true_dependence (mem_rtx, GET_MODE (mem_rtx), - mem_addr, x, NULL_RTX)) + && ! canon_anti_dependence (mem_rtx, GET_MODE (mem_rtx), + mem_addr, x)) { has_mem = true; num_mems++; |