summaryrefslogtreecommitdiff
path: root/gcc/cselib.c
diff options
context:
space:
mode:
authorsteven <steven@138bc75d-0d04-0410-961f-82ee72b054a4>2006-11-30 07:24:03 +0000
committersteven <steven@138bc75d-0d04-0410-961f-82ee72b054a4>2006-11-30 07:24:03 +0000
commit6783717070cc6674a23bf22af4fb1bc3baa3d2ad (patch)
tree842215adcde4863a27c06c314a1f5c58f2704a43 /gcc/cselib.c
parent3471582ef848a30f2d0e8b54a6da60778f304654 (diff)
downloadgcc-6783717070cc6674a23bf22af4fb1bc3baa3d2ad.tar.gz
* 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
Diffstat (limited to 'gcc/cselib.c')
-rw-r--r--gcc/cselib.c6
1 files changed, 4 insertions, 2 deletions
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 ();