This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: A FrontEnd in C++?
- From: Chris Lattner <sabre at nondot dot org>
- To: <gcc at gcc dot gnu dot org>
- Date: Thu, 22 Aug 2002 15:53:54 -0500 (CDT)
- Subject: Re: A FrontEnd in C++?
> 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