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] (was: Undocumented source files)


Hi,

On Fri, 22 Nov 2002, Joseph S. Myers wrote:

> ra-build.c
> ra-colorize.c
> ra-debug.c
> ra-rewrite.c
> ra.[ch]

These are mentioned with the below patch (which also intends the register
allocation passes one level and adds a general remark).  Ok?
(Tested with makeinfo and visual inspection of the output)


Ciao,
Michael.
-- 
	* doc/passes.texi: Mention the other register allocator

Index: passes.texi
===================================================================
RCS file: /cvs/gcc/gcc/gcc/doc/passes.texi,v
retrieving revision 1.10
diff -u -p -r1.10 passes.texi
--- passes.texi	7 Aug 2002 18:32:10 -0000	1.10
+++ passes.texi	28 Nov 2002 15:09:41 -0000
@@ -459,13 +459,20 @@ The option @option{-dS} causes a debuggi
 pass is run for the first time.  The dump file's name is made by
 appending @samp{.sched} to the input file name.

+@cindex register allocation
+@item
+Register allocation.  These passes make sure that all occurences of pseudo
+registers are eliminated, either by allocating them to a hard register,
+replacing them by an equivalent expression (e.g. a constant) or by placing
+them on the stack.  This is done in several sub passes:
+
+@itemize @bullet
 @cindex register class preference pass
 @item
 Register class preferencing.  The RTL code is scanned to find out
 which register class is best for each pseudo register.  The source
 file is @file{regclass.c}.

-@cindex register allocation
 @cindex local register allocation
 @item
 Local register allocation (@file{local-alloc.c}).  This pass allocates
@@ -484,6 +491,17 @@ Global register allocation (@file{global
 allocates hard registers for the remaining pseudo registers (those
 whose life spans are not contained in one basic block).

+@cindex graph coloring register allocation
+@opindex fnew-ra
+@opindex dl
+@item
+Graph coloring register allocator.  The files @file{ra.c}, @file{ra-build.c},
+@file{ra-colorize.c}, @file{ra-debug.c}, @file{ra-rewrite.c} together with
+the header @file{ra.h} contain another register allocator, which is used
+when the option @option{-fnew-ra} is given.  In that case it is run instead
+of the above mentioned local and global register allocation passes, and the
+option @option{-dl} causes a debugging dump of its work.
+
 @cindex reloading
 @item
 Reloading.  This pass renumbers pseudo registers with the hardware
@@ -505,6 +523,7 @@ Source files are @file{reload.c} and @fi
 The option @option{-dg} causes a debugging dump of the RTL code after
 this pass.  This dump file's name is made by appending @samp{.greg} to
 the input file name.
+@end itemize

 @cindex instruction scheduling
 @cindex scheduling, instruction


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