This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: "Documentation by paper"
- From: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- To: law at redhat dot com
- Cc: gcc at gcc dot gnu dot org
- Date: Tue, 3 Feb 04 11:58:34 EST
- Subject: Re: "Documentation by paper"
>Correct. My last compiler course was well over a decade ago.
How is that relevant?
It acknowleged the statement made.
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?
No, but we need to in *some* file.
Are we going to define the basic properties of SSA in every file which
uses that form?
Likewise.
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.
No, but *something* needs to. In fact, it's very important to define
what a "block" is because the definition is quite complex and depends on
such things as whether -fno-call-exceptions (or whatever it's called) is
enabled. Indeed, there has ben considerable confusion about how jump
tables fit into blocks.
In it's simplest form, edges can be defined in one sentence. But actually
need a lot more than that because of all the special edge types we define
for EH, for example.
Indeed I find the CFG code very hard to read (and even harder to modify)
precisely because these things are *not* defined.
So you have chosen a good example!