Add missing comments pointed out by Andreas Schwab.
authorJim Wilson <wilson@cygnus.com>
Mon, 11 May 1998 18:11:22 +0000 (18:11 +0000)
committerJim Wilson <wilson@gcc.gnu.org>
Mon, 11 May 1998 18:11:22 +0000 (11:11 -0700)
* regmove.c (fixup_match_2, find_matches, regmove_profitable):
Add explanatory comments.

From-SVN: r19677

gcc/ChangeLog
gcc/regmove.c

index dd7c9f616dd10fc2a06bb9de4ba8327e278ddb60..5f68e1b11a8b6e0b498d0837d46b9ff5efed0438 100644 (file)
@@ -1,5 +1,8 @@
 Mon May 11 17:43:03 1998  Jim Wilson  <wilson@cygnus.com>
 
+       * regmove.c (fixup_match_2, find_matches, regmove_profitable):
+       Add explanatory comments.
+
        * sparc.h (SPARC_INCOMING_INT_ARG_FIRST): Support TARGET_FLAT.
 
 Mon May 11 17:24:27 1998  Richard Henderson  <rth@cygnus.com>
index 81a987035f17c5bd861f717dfac977fbf104516e..75798b043e9037e00aea13cde965f6dc0ec14880 100644 (file)
@@ -570,8 +570,24 @@ reg_is_remote_constant_p (reg, insn, first)
   return 0;
 }
 
+/* INSN is adding a CONST_INT to a REG.  We search backwards looking for
+   another add immediate instruction with the same source and dest registers,
+   and if we find one, we change INSN to an increment, and return 1.  If
+   no changes are made, we return 0.
+
+   This changes
+     (set (reg100) (plus reg1 offset1))
+     ...
+     (set (reg100) (plus reg1 offset2))
+   to
+     (set (reg100) (plus reg1 offset1))
+     ...
+     (set (reg100) (plus reg100 offset2-offset1))  */
+
+/* ??? What does this comment mean?  */
 /* cse disrupts preincrement / postdecrement squences when it finds a
    hard register as ultimate source, like the frame pointer.  */
+
 int
 fixup_match_2 (insn, dst, src, offset, regmove_dump_file)
      rtx insn, dst, src, offset;
@@ -1143,6 +1159,11 @@ regmove_optimize (f, nregs, regmove_dump_file)
 #endif /* REGISTER_CONSTRAINTS */
 }
 
+/* Returns the INSN_CODE for INSN if its pattern has matching constraints for
+   any operand.  Returns -1 if INSN can't be recognized, or if the alternative
+   can't be determined.
+
+   Initialize the info in MATCHP based on the constraints.  */
 
 static int
 find_matches (insn, matchp)
@@ -1711,7 +1732,10 @@ stable_but_for_p (x, src, dst)
     }
 }
 
-/* Test if regmove seems profitable for this target.  */
+/* Test if regmove seems profitable for this target.  Regmove is useful only
+   if some common patterns are two address, i.e. require matching constraints,
+   so we check that condition here.  */
+
 int
 regmove_profitable_p ()
 {