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"


On Tue, 3 Feb 04 11:58:34 EST
kenner@vlsi1.ultra.nyu.edu (Richard Kenner) wrote:

>      >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.

 Hi hi ha ha ha ho ho ho ... stop this is killing me :-) .....

 / pun intended, Lars Segerlund.


>  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!


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