[LLVMdev] llvm 2.0 release announcement [draft]

Chris Lattner sabre at nondot.org
Mon May 14 22:13:02 PDT 2007

On Mon, 14 May 2007, Jeff Cohen wrote:
> Chris Lattner wrote:
>>   x. Roman Samoilov contributed a new MSIL backend to LLVM.  llc - 
>>  march=msil will now turn LLVM into MSIL (".net") bytecode.  This is  still 
>>  fairly early development with a number of limitations.

> This ought not be advertised to the world.  It is not useful for any purpose.

Jeff, I'm well aware of your opinions in this matter.

> Not only can it not do virtual method calls, as I previously pointed out, it 
> can't even instantiate objects!  And there is a good reason why the 
> implementation cannot do so:  it is extremely difficult to recover high-level 
> MSIL semantics from low-level LLVM IR.  I am not convinced it is even 
> possible.  It's as hard as reconstructing a C++ class declaration from LLVM 
> IR.

The full power of MSIL isn't available through the msil backend, and it is 
not very useful if you're converting from C code. I say "This is 
still fairly early development with a number of limitations.", which I 
believe is accurate.  Even though you apparently don't like this work, 
please don't disparage it.  Other people have put time and effort into it, 
and it could grow to be an important component in the future.

>>   x. Evan added support for the X86-64 large code model to the JIT,  which 
>>  is useful if JIT'd function bodies are more than 2G away from  library 
>>  functions.

> Not true.  See PR1299, which still hasn't been fixed.

Actually, it is true - PR1299 not being fixed does not mean the work 
wasn't done.  I did not claim that he fixed every possible x86-64 jit bug, 
certainly not on platforms we don't have available to test.

I asked Evan to look into this PR, but if you'd like it fixed, the only 
certain wait to get it fixed is to do it yourself (or pay someone else to 
do it, I suppose).



More information about the llvm-dev mailing list