diff options
| author | steven <steven@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-11-30 07:24:03 +0000 |
|---|---|---|
| committer | steven <steven@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-11-30 07:24:03 +0000 |
| commit | 6783717070cc6674a23bf22af4fb1bc3baa3d2ad (patch) | |
| tree | 842215adcde4863a27c06c314a1f5c58f2704a43 | |
| parent | 3471582ef848a30f2d0e8b54a6da60778f304654 (diff) | |
| download | ppe42-gcc-6783717070cc6674a23bf22af4fb1bc3baa3d2ad.tar.gz ppe42-gcc-6783717070cc6674a23bf22af4fb1bc3baa3d2ad.zip | |
* cselib.c (cselib_init): Use special MEM rtx form for callmem.
* alias.c (canon_true_dependence): Update comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119358 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/alias.c | 2 | ||||
| -rw-r--r-- | gcc/cselib.c | 6 |
3 files changed, 10 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index dd83c8e84cc..9a5419e9f77 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2006-11-30 Steven Bosscher <steven@gcc.gnu.org> + * cselib.c (cselib_init): Use special MEM rtx form for callmem. + * alias.c (canon_true_dependence): Update comment. + +2006-11-30 Steven Bosscher <steven@gcc.gnu.org> + * cgraphunit.c (cgraph_finalize_compilation_unit): Add a newline at the end of a diagnostics message. diff --git a/gcc/alias.c b/gcc/alias.c index a3634ac1f93..7a36284cb3a 100644 --- a/gcc/alias.c +++ b/gcc/alias.c @@ -2151,7 +2151,7 @@ true_dependence (rtx mem, enum machine_mode mem_mode, rtx x, return 1; /* (mem:BLK (scratch)) is a special mechanism to conflict with everything. - This is used in epilogue deallocation functions. */ + This is used in epilogue deallocation functions, and in cselib. */ if (GET_MODE (x) == BLKmode && GET_CODE (XEXP (x, 0)) == SCRATCH) return 1; if (GET_MODE (mem) == BLKmode && GET_CODE (XEXP (mem, 0)) == SCRATCH) diff --git a/gcc/cselib.c b/gcc/cselib.c index 4070da7c01f..46053885721 100644 --- a/gcc/cselib.c +++ b/gcc/cselib.c @@ -1473,9 +1473,11 @@ cselib_init (bool record_memory) sizeof (cselib_val), 10); value_pool = create_alloc_pool ("value", RTX_CODE_SIZE (VALUE), 100); cselib_record_memory = record_memory; - /* This is only created once. */ + + /* (mem:BLK (scratch)) is a special mechanism to conflict with everything, + see canon_true_dependence. This is only created once. */ if (! callmem) - callmem = gen_rtx_MEM (BLKmode, const0_rtx); + callmem = gen_rtx_MEM (BLKmode, gen_rtx_SCRATCH (VOIDmode)); cselib_nregs = max_reg_num (); |

