[LLVMdev] MSIL backend

Jeff Cohen jeffc at jolt-lang.org
Thu Mar 22 12:37:12 PDT 2007


Anton Korobeynikov wrote:
> Hello, Everyone.
>
> We've just commited new backend for LLVM: MSIL. The author of backend is
> Roman Samoilov from Codedgers Inc. (roman at codedgers.com). Backend itself
> is very similar to C backend (and actually was based on it). Note, it's
> pure LLVM-to-MSIL translator, so no additional checks etc. are
> performed.
>   

I'm confused.  A MSIL front end I can understand, but a back end?  How 
will it be used?  The GCC-based front ends that come with LLVM generate 
bytecodes that have dependencies on the GCC runtime, which is not going 
to be present in a .NET environment.

> Backend is usable in general, but still lacks some important features:
>
> 1. There is no way to tell "import this function from that DLL file" to
> backend. Even more, there are no any equivalent of import libraries for
> MSIL code. So, in the future backend will include some "linking" pass,
> which will resolve external DLL references. Probably, we'll use nice set
> of .def files from public domain w32-api package (from Mingw32 folks).
>   

Some people have the official Microsoft files :)

As it's apparent the developer does not have Visual Studio, how do you 
assemble and run the MSIL code?  Do you use the utilities present in the 
.NET framework at all?  (and, yes, they are free and frequently 
preloaded on new PCs, and Windows Update can install them on the rest.)  
That you would need to rely on Mingw32 implies you do not.

> 2. Variable argument functions are unsupported now.
>
> 3. There is no support for dllimported variables (e.g. stdin, stdout,
> stderr symbols in MS runtime).
>
> 4. Also, backend completely lacks any testsuite.
>
> There are some small glitches here and there, but they are not so
> important as indicated ones.
>
> All indicated problems will be fixed in the nearest future. Any
> feedback, comments, questions are surely welcome.
>
>   




More information about the llvm-dev mailing list