A FrontEnd in C++?
Chris Lattner
sabre@nondot.org
Thu Aug 22 13:50:00 GMT 2002
> Go right ahead. All you need is a new branch and some free time. I
> would personally suggest following some of the design and implementation
> ideas from SUIF and/or Sage++. They are kind of neat.
As long as we are plugging compiler infrastructures, I thought I might
mention my own project LLVM: http://llvm.cs.uiuc.edu/
It's also completely written in C++ (G++ 3.2), uses a GCC->LLVM frontend,
is SSA based, open-source, and has some interesting technology available
in it. The LLVM instruction set is roughly equivalent to SIMPLE
( http://llvm.cs.uiuc.edu/docs/LangRef.html ).
A few of the nify things LLVM provides are the modular pass system:
http://llvm.cs.uiuc.edu/docs/WritingAnLLVMPass.html
strong infrastructure for interprocedural optimizations, linktime, and
runtime optimizations, etc. The infrastructure is _very_ fast.
Additionally, because it uses C++ and the STL throughout, writing
transformations is quite simple. For example, LICM and GCSE are each
just a couple hundred lines of code (which are mostly comments):
http://llvm/doxygen/LICM_8cpp-source.html
http://llvm/doxygen/GCSE_8cpp-source.html
If you have any questions about LLVM or would like to discuss compiler
architecture, I'd be more than happy to participate.
-Chris
More information about the Gcc
mailing list