<br><div class="gmail_quote">2010/1/5 James Williams <span dir="ltr"><<a href="mailto:junk@giantblob.com">junk@giantblob.com</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi,<br><br>I want to use LLVM as replacement code generator for an existing self hosting compiler. I hope to replace the existing BURS code generator with LLVM in order to take advantage of LLVM's JIT, optimizations and wider range of targets. I'm planning on ditching my existing IR completely and using my language's native call mechanism to call the LLVM C bindings.<br>
<br>I've got a couple of questions I'd be grateful if anyone can answer:<br><br>My language in general and the compiler in particular rely heavily on Boehm GC. I'm assuming that LLVM is OK with being linked into a process that's using libgc? I really don't want to write a garbage collector!<br>
<br>My existing IR has no structured type information. All structures are layed out exactly for the target machine before intermediate code is generated and array and intermediate code for class/struct field accesses are all pointer operations. I'm assuming this approach will work with LLVM provided sizes match the target machine and I cast everything correctly?<br>
</blockquote><div>Oops, mistyped this. I intended to say:<br><br>My existing IR has no structured type information. All structures are
layed out exactly for the target machine before intermediate code is
generated <u>and intermediate code for array and class/struct field
</u>accesses are all pointer operations. I'm assuming this approach will
work with LLVM provided sizes match the target machine and I cast
everything correctly?<br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><font color="#888888">
<br>-- James<br><br> <br>
</font></blockquote></div><br>