This is the mail archive of the gcc@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]

Re: "Documentation by paper"


In message <10402031550.AA21796@vlsi1.ultra.nyu.edu>, Richard Kenner writes:
 >    Which you have never read (at least a modern one), if you do not know
 >    what a dominator is.  My first compiler course, which used only part
 >    of Appel's "Modern compiler implementation" (which is nowhere near in
 >    depth with respect to Muchnick or Morgan) did teach dominators.
 >
 >Correct.  My last compiler course was well over a decade ago.
How is that relevant?  Dominators are discussed in several texts one 
can read, including, but not limited to Morgan, Muchnick, Appel, Aho, etc.
Dominators actually pre-date your decade-ago compiler course.  Pick up a
book and do a little reading :-)

What has changed in the last 15 years is that dominators are used by a
variety of optimization and analysis algorithms instead of primarily being
used for loop discovery.

 >
 >    I'd love gcc to become a free compiler text, but it is not its purpose.
 >
 >Of course not, but it's always useful to define each term used at least
 >to some extent.
Which I'm less and less inclined to do since we're using standard 
terminology dating back over 15 years (you can find dominators and 
dominator tree all the way back in the dragon book and probably 
earlier if you care to look).

At some point you have to assume a base level of knowledge for your
reader.  Are we going to define CFG in every file which uses the CFG?
Are we going to define the basic properties of SSA in every
file which uses that form?    Hmm, wait, you have to know what blocks
and edges are to understand what a CFG is, so every file which uses the
CFG has to also define blocks & edges.  It's actually rather silly when you
start to think about it -- particularly when we use a series of building
blocks (blocks, edge, CFG, dominators, loop tree, SSA, value numbering) to 
implement an optimization or analysis pass.


 > GCC has always been pretty self-contained and I see no
 >reason to change that policy at this point.
We disagree then.

jeff


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