David Gay
2009-Apr-24 19:12 UTC
[LLVMdev] CIL 1.3.7 release, with experimental LLVM code generation
The latest release of the CIL C frontend (http://sf.net/projects/cil) now includes a module to generate LLVM assembly code from CIL's intermediate format. It should be considered alpha-level code and still has a number of significant limitations: It is targeted to the 32-bit mode of x86 processors using gcc's C dialect. It handles all of C, except: - bitfields - inline assembly code - gcc pragmas/attributes (those not handled by CIL directly) - variable-size types - <whatever bugs are lurking in there> I have however successfully used it to compile some small but real programs... Some test cases showing how to use this extension are on my web page, at http://berkeley.intel-research.net/dgay/cil-llvm-tests.tar.gz You can use these with CIL as follows: cd cil-1.3.7; tar xfz cil-llvm-tests.tar.gz # extract tests in CIL ./configure --with-llvm; make # build CIL with llvm support cd tests/llvm make # run simple LLVM tests make cfrac # run a larger LLVM test Disclaimer: this works for me on Mac OS X 10.4 and on a Linux CentOS machine, with LLVM 2.5. YMMV... Please submit bug reports, or improvements (e.g. removing some of the limitations above ;-)) via CIL's sourceforge bug tracker, at https://sourceforge.net/tracker/?group_id=138953&atid=742140 -- David Gay