[LLVMdev] MSIL backend

Anton Korobeynikov asl at math.spbu.ru
Thu Mar 22 16:24:31 PDT 2007


Hello, Jeff.

> and dereference it.  But MSIL is at a higher level, where one simply 
> uses the callvirt instruction to do a virtual call and no vtable is 
> supplied or even present.
You're right. Consider we will have some FE for MSIL, which will just
generate LLVM's "call" instruction with some predefined CC, which will
mean "this is virtual call". Backend can emit normal callvirt
instruction in this case. I hope, many high-level things can be avoided
using such tricks.

> There's no obvious way to reconstruct the  higher level object semantics
> from LLVM IR, and sure enough the new MSIL back end never generates a
> callvirt instruction.  In other words, it is incapable of using the 
> .NET framework library or anything else relying on virtual method calls.
Well, I can be wrong. But if we will (possible) have some FE, which will
try to save such semantics using LLVM methods?

-- 
With best regards, Anton Korobeynikov.

Faculty of Mathematics & Mechanics, Saint Petersburg State University.





More information about the llvm-dev mailing list