<div dir="ltr"><div style>Hi</div><div style><br></div><div style>As i didn't get any respons I am reformulating my question in the hope to make myself more clear.</div>Has anyone an idea how to use metadata present in the llvm ir to guide the if-conversion in llc (as metadata get's dropped during SelectionDAG) ?<div>
<div><br></div><div style>-Michael</div><div><br></div><div><div style><br></div></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/4/13 Michael D'Hont <span dir="ltr"><<a href="mailto:michael.dhont@ugent.be" target="_blank">michael.dhont@ugent.be</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">The project I am working on is to use the llvm toolchain for embedded CGRA processors .<div>This however poses some restrictions on the block formation, because modulo scheduling is applied in a later stage.</div>

<div>For this reason the idea was to create custom pragma's to generate metadata and attach it to de branches of loops we wanted to map on a cgra module.</div><div>It is a lot similar to the loop parallell metadata discussed previously on the mailing list.</div>

<div>I was able to made the metadata survive opt passes by extending LoopInfo to remove/restore metadata as needed but once at the backend I get stuck.</div><div><br></div><div>I was thinking to add some custom fields to SDNode and afterwards MI but that doesn't seem efficient (or a good idea) for many reason's. </div>

<div>For example not each instruction has metadata attached (in my case it's only branching instructions inside a loop) and also during the pattern matching nodes are replaced/combined/etc. and thus the data also gets removed. </div>

<div><br></div><div>I need the information within the metadata to force if-conversion on specific parts of the code for hyperblock formation.</div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><br>
<div class="gmail_quote">
2013/4/12 Eric Christopher <span dir="ltr"><<a href="mailto:echristo@gmail.com" target="_blank">echristo@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

There's some support for metadata on MI and definitely on the IR. What<br>
do you have in mind and what are you doing?<br>
<br>
-eric<br>
<div><div><br>
On Fri, Apr 12, 2013 at 7:37 AM, Michael D'Hont <<a href="mailto:michael.dhont@ugent.be" target="_blank">michael.dhont@ugent.be</a>> wrote:<br>
> Is there any way to work with the metadata inside llc? Or is there a<br>
> specific reason why metadata is not supported inside llc? Because as I see<br>
> it the metadata get's completely removed during instruction selection.<br>
><br>
> I would like to use the metadata to influence Loop Specific transformations<br>
> and if-conversion.<br>
><br>
> Kind Regards<br>
> Michael D'hont<br>
><br>
</div></div>> _______________________________________________<br>
> LLVM Developers mailing list<br>
> <a href="mailto:LLVMdev@cs.uiuc.edu" target="_blank">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
><br>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>