Commit 4ca0d6d4 by Chris Lattner Committed by Gerald Pfeifer

* loop.c: Move comments describing BIV's and GIV's to top of file

From-SVN: r71333
parent d2399d75
2003-09-12 Chris Lattner <sabre@nondot.org>
* loop.c: Move comments describing BIV's and GIV's to top of file
2003-09-12 Roger Sayle <roger@eyesopen.com> 2003-09-12 Roger Sayle <roger@eyesopen.com>
PR optimization/8967 PR optimization/8967
......
...@@ -22,8 +22,16 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA ...@@ -22,8 +22,16 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
/* This is the loop optimization pass of the compiler. /* This is the loop optimization pass of the compiler.
It finds invariant computations within loops and moves them It finds invariant computations within loops and moves them
to the beginning of the loop. Then it identifies basic and to the beginning of the loop. Then it identifies basic and
general induction variables. Strength reduction is applied to the general general induction variables.
induction variables, and induction variable elimination is applied to
Basic induction variables (BIVs) are a pseudo registers which are set within
a loop only by incrementing or decrementing its value. General induction
variables (GIVs) are pseudo registers with a value which is a linear function
of a basic induction variable. BIVs are recognized by `basic_induction_var';
GIVs by `general_induction_var'.
Once induction variables are identified, strength reduction is applied to the
general induction variables, and induction variable elimination is applied to
the basic induction variables. the basic induction variables.
It also finds cases where It also finds cases where
...@@ -4223,14 +4231,6 @@ emit_prefetch_instructions (struct loop *loop) ...@@ -4223,14 +4231,6 @@ emit_prefetch_instructions (struct loop *loop)
return; return;
} }
/* A "basic induction variable" or biv is a pseudo reg that is set
(within this loop) only by incrementing or decrementing it. */
/* A "general induction variable" or giv is a pseudo reg whose
value is a linear function of a biv. */
/* Bivs are recognized by `basic_induction_var';
Givs by `general_induction_var'. */
/* Communication with routines called via `note_stores'. */ /* Communication with routines called via `note_stores'. */
static rtx note_insn; static rtx note_insn;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment