<div>
                    Oh, ok, sorry but only now I understood your list will be used by the programmers functions on his code, and not on your pass code for llvm while your pass is being compiled XD
                </div><div><br></div><div>Ok, once I had a similar problem, and I resolved it by creating a mini API in C++ with some classes that encapsulated lists of integer, floating point or pointer types (I actually needed three different classes for those three types). Those are not that hard to write, and I guess mine would not be very welcome to share because I had a very specific implementation (I wanted something with a queue behavior, and I was working with "many producers -> one consumer" strategy).</div><div><br></div><div>So all I had to do was insert the right calls on the functions being transformed by my pass, and that was it.</div>
                <div><div><br></div><div>Cheers,</div><div><br></div><div>-- </div><div>Cristianno Martins</div><div>PhD Candidate in Computer Science</div><div>University of Campinas</div><div>cmartins@ic.unicamp.br</div><div><br></div></div>
                 
                <p style="color: #A0A0A8;">On Friday, 19 de April de 2013 at 12:19, Tim Northover wrote:</p>
                <blockquote type="cite" style="border-left-style:solid;border-width:1px;margin-left:0px;padding-left:10px;">
                    <span><div><div><blockquote type="cite"><div><div>In my compiler I want to give user a list of user defined classes. I tried</div><div>to use generated bitcode of my own wrapper of std::vector, but there is no</div><div>possibility to generate bitcode of template, so I finally build it with</div><div>std::vector<void*>.</div></div></blockquote><div><br></div><div>Does this mean you wrote a wrapper around std::vector, generated LLVM</div><div>IR for it, and then inserted this IR into your compiled code in some</div><div>manner?</div><div><br></div><blockquote type="cite"><div><div>Do you know about any better solutions how to build such</div><div>a type with llvm? Maybe there is a llvm built in type that is better choice</div><div>than external c++ wrapper?</div></div></blockquote><div><br></div><div>If I understand what you're doing, there's no generic LLVM</div><div>implementation of any complex datatypes for front-ends to use. Each</div><div>one is expected to implement its own requirements.</div><div><br></div><div>In principle, some kind of library could be developed, of course.</div><div><br></div><div>Tim</div></div></div></span>
                 
                 
                 
                 
                </blockquote>
                 
                <div>
                    <br>
                </div>