OSDN Git Service

* cselib.c (cselib_init): Use special MEM rtx form for callmem.
authorsteven <steven@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 30 Nov 2006 07:24:03 +0000 (07:24 +0000)
committersteven <steven@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 30 Nov 2006 07:24:03 +0000 (07:24 +0000)
* alias.c (canon_true_dependence): Update comment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119358 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/alias.c
gcc/cselib.c

index dd83c8e..9a5419e 100644 (file)
@@ -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.
 
index a3634ac..7a36284 100644 (file)
@@ -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)
index 4070da7..4605388 100644 (file)
@@ -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 ();