This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[patch] Remove unused fields from struct loop


Hello,

some of the fields in struct loop became unused when the old loop
optimizer was removed.  This patch cleans them up.

Bootstrapped & regtested on i686.

Zdenek

	* cfgloop.c (flow_loop_dump): Do not dump loop->invalid field.
	* cfgloop.h (struct loop): Remove unused fields.

Index: cfgloop.c
===================================================================
*** cfgloop.c	(revision 111675)
--- cfgloop.c	(working copy)
*************** flow_loop_dump (const struct loop *loop,
*** 127,134 ****
    if (! loop || ! loop->header)
      return;
  
!   fprintf (file, ";;\n;; Loop %d:%s\n", loop->num,
! 	     loop->invalid ? " invalid" : "");
  
    fprintf (file, ";;  header %d, latch %d\n",
  	   loop->header->index, loop->latch->index);
--- 127,133 ----
    if (! loop || ! loop->header)
      return;
  
!   fprintf (file, ";;\n;; Loop %d\n", loop->num);
  
    fprintf (file, ";;  header %d, latch %d\n",
  	   loop->header->index, loop->latch->index);

Index: cfgloop.h
===================================================================
*** cfgloop.h	(revision 111675)
--- cfgloop.h	(working copy)
*************** struct loop
*** 78,91 ****
    /* Average number of executed insns per iteration.  */
    unsigned av_ninsns;
  
-   /* The first block in the loop.  This is not necessarily the same as
-      the loop header.  */
-   basic_block first;
- 
-   /* The last block in the loop.  This is not necessarily the same as
-      the loop latch.  */
-   basic_block last;
- 
    /* Number of blocks contained within the loop.  */
    unsigned num_nodes;
  
--- 78,83 ----
*************** struct loop
*** 111,156 ****
    /* Loop that is copy of this loop.  */
    struct loop *copy;
  
-   /* Nonzero if the loop is invalid (e.g., contains setjmp.).  */
-   int invalid;
- 
    /* Auxiliary info specific to a pass.  */
    void *aux;
  
-   /* The following are currently used by loop.c but they are likely to
-      disappear when loop.c is replaced and removed.  */
- 
-   /* The NOTE_INSN_LOOP_BEG.  */
-   rtx start;
- 
-   /* The NOTE_INSN_LOOP_END.  */
-   rtx end;
- 
-   /* For a rotated loop that is entered near the bottom,
-      this is the label at the top.  Otherwise it is zero.  */
-   rtx top;
- 
-   /* Place in the loop where control enters.  */
-   rtx scan_start;
- 
-   /* The position where to sink insns out of the loop.  */
-   rtx sink;
- 
-   /* List of all LABEL_REFs which refer to code labels outside the
-      loop.  Used by routines that need to know all loop exits, such as
-      final_biv_value and final_giv_value.
- 
-      This does not include loop exits due to return instructions.
-      This is because all bivs and givs are pseudos, and hence must be
-      dead after a return, so the presence of a return does not affect
-      any of the optimizations that use this info.  It is simpler to
-      just not include return instructions on this list.  */
-   rtx exit_labels;
- 
-   /* The number of LABEL_REFs on exit_labels for this loop and all
-      loops nested inside it.  */
-   int exit_count;
- 
    /* The probable number of times the loop is executed at runtime.
       This is an INTEGER_CST or an expression containing symbolic
       names.  Don't access this field directly:
--- 103,111 ----


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]