[LLVMdev] not to break 'for' statement into basic blocks

David Greene dag at cray.com
Mon Jul 16 09:07:51 PDT 2007


On Monday 16 July 2007 03:20, Seung Jae Lee wrote:
> Thank you so much but could you tell me a little bit more in detail about
> that you suggested? Sorry, I'm just a greenhorn.

There's far too much to cover on an e-mail list.  Use Google, Citeseer, the
ACM digital library, etc. and search for "control dependence graph."  I
provided the reference for an algorithm to remove unstructured gotos.

Everyone starts out as a greenhorn.  Compilers are complicated beasts,
as evidenced by the number of Ph.D.s still centered on "solved" problems
like register allocation.  :)

It takes a lot of reading and doing to become fluent.  I'm very happy to try
and answer specific questions.  Here are some specific references:

Compilers: Principles, Techniques and Tools (a.k.a. The Purple Dragon
Book) by Aho, Lam, Sethi and Ullman.  This is a good, if at times dense,
introductory text.

Advanced Compiler Design & Implementation by Muchnick.  A somewhat more
advanced treatment, better as a reference than a learning book.

I strongly suggest that if you're at a University, that you investigate the 
compiler course offerings.  You'll only get so far just reading.  Doing is
really important.

                                              -Dave



More information about the llvm-dev mailing list