<div dir="ltr"><div><div>You can do this by changing instruction scheduling heuristics. I think the more important question is if this correct always for all platforms. <br><br></div>I don't know which scheduler you use. We use GenericScheduler and PostGenericScheduler before and after RA. These classes have a ::tryCandidate method which compares two instructions that can be legally scheduled and decide which of the two should be scheduled. Currently these method are target independent.<br><br></div>The correctness question still remains open for me.<br><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Oct 20, 2016 at 8:08 PM, Alex Susu via llvm-dev <span dir="ltr"><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">  Hello.<br>
    Is there a way to specify in the back end an (ISD::INLINEASM) SDNode to be scheduled first under all circumstances? I need to specify something like node priority to schedule the node before all other nodes in the SelectionDAG of the basic block.<br>
    (Using chain or glue edges in order to make a node first is not a good idea, since I am doing this at instruction selection time, on individual nodes.)<br>
<br>
  Thank you,<br>
    Alex<br>
______________________________<wbr>_________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-dev</a><br>
</blockquote></div><br></div>