OSDN Git Service

* reload1.c (reload_cse_simplify): Fix typo in rtx code check.
[pf3gnuchains/gcc-fork.git] / gcc / loop.h
index 5ead92e..3df9cfc 100644 (file)
@@ -1,5 +1,5 @@
 /* Loop optimization definitions for GNU C-Compiler
-   Copyright (C) 1991, 1995, 1998, 1999, 2000, 2001
+   Copyright (C) 1991, 1995, 1998, 1999, 2000, 2001, 2002
    Free Software Foundation, Inc.
 
 This file is part of GCC.
@@ -27,18 +27,20 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 /* Flags passed to loop_optimize.  */
 #define LOOP_UNROLL 1
 #define LOOP_BCT 2
+#define LOOP_PREFETCH 4
+#define LOOP_FIRST_PASS 8
 
 /* Get the loop info pointer of a loop.  */
 #define LOOP_INFO(LOOP) ((struct loop_info *) (LOOP)->aux)
 
 /* Get a pointer to the loop movables structure.  */
-#define LOOP_MOVABLES(LOOP) (&LOOP_INFO (loop)->movables)
+#define LOOP_MOVABLES(LOOP) (&LOOP_INFO (LOOP)->movables)
 
 /* Get a pointer to the loop registers structure.  */
-#define LOOP_REGS(LOOP) (&LOOP_INFO (loop)->regs)
+#define LOOP_REGS(LOOP) (&LOOP_INFO (LOOP)->regs)
 
 /* Get a pointer to the loop induction variables structure.  */
-#define LOOP_IVS(LOOP) (&LOOP_INFO (loop)->ivs)
+#define LOOP_IVS(LOOP) (&LOOP_INFO (LOOP)->ivs)
 
 /* Get the luid of an insn.  Catch the error of trying to reference the LUID
    of an insn added during loop, since these don't have LUIDs.  */
@@ -135,8 +137,8 @@ struct induction
                                   subtracted from add_val when this giv
                                   derives another.  This occurs when the
                                   giv spans a biv update by incrementation.  */
-  rtx ext_dependant;           /* If nonzero, is a sign or zero extension
-                                  if a biv on which this giv is dependant.  */
+  rtx ext_dependent;           /* If nonzero, is a sign or zero extension
+                                  if a biv on which this giv is dependent.  */
   struct induction *next_iv;   /* For givs, links together all givs that are
                                   based on the same biv.  For bivs, links
                                   together all biv entries that refer to the
@@ -184,7 +186,7 @@ struct iv_class
   unsigned reversed : 1;       /* 1 if we reversed the loop that this
                                   biv controls.  */
   unsigned all_reduced : 1;    /* 1 if all givs using this biv have
-                                   been reduced. */
+                                   been reduced.  */
 };
 
 
@@ -302,6 +304,8 @@ struct loop_info
   int has_libcall;
   /* Nonzero if there is a non constant call in the current loop.  */
   int has_nonconst_call;
+  /* Nonzero if there is a prefetch instruction in the current loop.  */
+  int has_prefetch;
   /* Nonzero if there is a volatile memory reference in the current
      loop.  */
   int has_volatile;