[LLVMdev] [Help] How can we call an object's virtual function inside IR?
dag at cray.com
Tue Jan 5 09:33:43 PST 2010
On Tuesday 05 January 2010 04:59, Duncan Sands wrote:
> Hi Gyounghwa Kim, try pasting C++ code into http://llvm.org/demo/
> in order to see the LLVM IR that llvm-g++ turns it into. That way
> you will see how this can be done.
LLVM has no direct support for class hierarchies, virtual functions,
templates or anything of that support. It is very low-level. The
frontend is responsible for implementing the C++ object model in
terms of LLVM constructs. This the frontend will have to generate
vtables, indirect calls, etc. to implement virtual function calls.
This is all highly compiler-dependent. Everyone does it a little
bit differently. Using the llvm-g++ online demo as Duncan suggests
will show you how g++ implements this stuff.
More information about the llvm-dev