Sunday, January 10, 2010

First LLVM-made binary

A small step for a humble programmer, a huge leap for Liberty project 
(Me - right now)
 LLVM wrappers begin to be functional; please have a look at LLVM example directory and lauch make; after a while you will find:

  • llvm_example : the executable made by SmartEiffel (we are using latest version from subversion repository)
  • example.bc:   LLVM bitcode, produced by llvm_example
  • example.s:    ASCII assembler program text, compile from bytecode by llc - the LLVM static compiler
  • example:      an ELF relocatable, made by as, usually the GNU assembler

A lot of works remains to be done in LLVM, I expect to work out several idea on actual implementation of peculiar technical details of the Eiffel runtime during the wrapping of the rest of LLVM.
I would say that since Eiffel choice not to have namespaces we shall have no name-mangling problems.


  1. How can I contribute? I'm not used to work in team with github (but I already manage some of my projects with github).

  2. Guillaume, there is a lot of work to do ;-) To list a few: the optimization layer, the code generation layer, the builtins, the plugins structure, the configuration structure, external libraries wrapping and/or binding (see Paolo's article), the tools (pretty, class_check, short, eiffeltest)... Don't worry, pick whetever you feel an interest in, your code will be welcome!

  3. ... and yes, surely a code meter would be a useful addition ;-)