[LLVMdev] Dynamic Creation of a simple program

xavier llvmdev at yahoo.com
Tue Mar 15 03:22:42 PST 2005

Thanks for the information

I am trying to use one of your examples for recursive data structures:

PATypeHolder StructTy = OpaqueType::get();
std::vector<const Type*> Elts;
StructType *NewSTy = StructType::get(Elts);

// At this point, NewSTy = "{ opaque*, sbyte* }", tell VMCore that
// the struct and the opaque type are actually the same.

// NewSTy is potentially invalidated, but StructTy (a PATypeHolder) is
// kept up-to-date.
NewSTy = StructTy.get();

It gives this error in the last line:

         invalid conversion from `llvm::Type*' to `llvm::StructType*'

How can I create such a recursive DS?


--- Chris Lattner <sabre at nondot.org> wrote:
> On Mon, 14 Mar 2005, xavier wrote:
> > Could please somebody give some guidelines? Maybe I can compile a 
> > program with the LLVM and then load the bytecode in memory and finally 
> > dump some kind of text/XML representation which I will use to understand 
> > the set of classes needed to dynamically create the sample program
> Check out these directories:
> examples/ModuleMaker/ : Builds a module from scratch
> examples/Fibonacci/
> examples/HowToUseJIT/ : Examples building a module and JIT'ing them.
> -Chris
> -- 
> http://nondot.org/sabre/
> http://llvm.cs.uiuc.edu/
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://mail.cs.uiuc.edu/mailman/listinfo/llvmdev

Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 

More information about the llvm-dev mailing list