cse.c (cse_set_around_loop): When changing a constant load to a register -register...
authorJ"orn Rennecke <joern.rennecke@superh.com>
Thu, 27 Nov 2003 21:45:26 +0000 (21:45 +0000)
committerJoern Rennecke <amylaar@gcc.gnu.org>
Thu, 27 Nov 2003 21:45:26 +0000 (21:45 +0000)
* cse.c (cse_set_around_loop): When changing a constant load
to a register -register copy, add a REG_EQUAL note.

From-SVN: r74007

gcc/ChangeLog
gcc/cse.c

index 4af2b9288dc2b93216dc4fbe3d1d84c3ec006156..e7a93937b1c7081f9177efd4cf4e08b00e9e901e 100644 (file)
@@ -1,3 +1,8 @@
+2003-11-27  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * cse.c (cse_set_around_loop): When changing a constant load
+       to a register -register copy, add a REG_EQUAL note.
+
 2003-11-27  Randolph Chung  <tausq@debian.org>
            John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
 
index 7612a5a7ed526ae6c7f13dae96296b9e6b8edd35..faaf187b32c0e3d9128d097aa5f67385c9276b1b 100644 (file)
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -6676,6 +6676,10 @@ cse_set_around_loop (rtx x, rtx insn, rtx loop_start)
                          }
                        else
                          {
+                           if (CONSTANT_P (SET_SRC (set))
+                               && ! find_reg_equal_equiv_note (insn))
+                             set_unique_reg_note (insn, REG_EQUAL,
+                                                  SET_SRC (set));
                            if (control_flow_insn_p (p))
                              /* p can cause a control flow transfer so it
                                 is the last insn of a basic block.  We can't