<div dir="ltr">May not be mandatory but it certainly just emits the values directly before the prologue... I'm guessing this doesn't affect IR level optimizations but likely breaks machine code optimizations without a relative jump to the body in the prefix-data.<div>
<br></div><div><a href="https://gist.github.com/NathanHowell/6589820">https://gist.github.com/NathanHowell/6589820</a><br></div><div><br></div><div>-n</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Sep 16, 2013 at 3:09 PM, Gabor Greif <span dir="ltr"><<a href="mailto:ggreif@gmail.com" target="_blank">ggreif@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On 9/16/13, Carter Schonwald <<a href="mailto:carter.schonwald@gmail.com">carter.schonwald@gmail.com</a>> wrote:<br>
> yup! its exciting.<br>
><br>
> we were talking about this a bit earlier today on #haskell-llvm, and it<br>
> sounds doable.<br>
> There were some concerns that folks had, but hopefully we can give the llvm<br>
> devs feedback about this before its finalized in LLVM 3.4 so it doesn't<br>
> come with any performance caveats for ghc.<br>
<br>
</div>I almost sobered when I read that there must be a machine instruction<br>
embedded in the prefix, but looking at the testcases this doesn't<br>
appear like being mandatory. The prefix can be a simple struct, just<br>
like TNTC.<br>
<div class="HOEnZb"><div class="h5"><br>
><br>
><br>
> On Mon, Sep 16, 2013 at 5:14 PM, Gabor Greif <<a href="mailto:ggreif@gmail.com">ggreif@gmail.com</a>> wrote:<br>
><br>
>> This looks pretty exiting for LLVM IR-generation:<br>
>><br>
>><br>
>> <a href="http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20130909/188042.html" target="_blank">http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20130909/188042.html</a><br>
>><br>
>> GHC 7.10 might generate LLVM IR including embedded tables without<br>
>> resorting to linker tricks/postprocessing when targeting LLVM 3.4!<br>
>><br>
>> The relevant LLVM bug is <a href="http://llvm.org/bugs/show_bug.cgi?id=14080" target="_blank">http://llvm.org/bugs/show_bug.cgi?id=14080</a><br>
>><br>
>> and GHC Trac: <a href="http://ghc.haskell.org/trac/ghc/ticket/4213" target="_blank">http://ghc.haskell.org/trac/ghc/ticket/4213</a><br>
>><br>
>> Cheers,<br>
>><br>
>> Gabor<br>
>> _______________________________________________<br>
>> ghc-devs mailing list<br>
>> <a href="mailto:ghc-devs@haskell.org">ghc-devs@haskell.org</a><br>
>> <a href="http://www.haskell.org/mailman/listinfo/ghc-devs" target="_blank">http://www.haskell.org/mailman/listinfo/ghc-devs</a><br>
>><br>
><br>
_______________________________________________<br>
ghc-devs mailing list<br>
<a href="mailto:ghc-devs@haskell.org">ghc-devs@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/ghc-devs" target="_blank">http://www.haskell.org/mailman/listinfo/ghc-devs</a><br>
</div></div></blockquote></div><br></div>