<div dir="ltr">Hi Adam,<div><br></div><div>Thanks for debugging this! Hao is away for the remainder of this week, but the patch looks obviously correct to me.</div><div><br></div><div>Cheers,</div><div><br></div><div>James</div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On 20 May 2014 21:55, Adam Nemet <span dir="ltr"><<a href="mailto:anemet@apple.com" target="_blank">anemet@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I think this is pretty obvious but want to make sure the original author is fine with this.<br>
<br>
Povray and dealII currently assert with "Overran sorted position" in<br>
AssignTopologicalOrder.  The problem is that performPostLD1Combine can<br>
introduce cycles.<br>
<br>
Consider:<br>
<br>
(insert_vector_elt (INSERT_SUBREG undef,<br>
                                  (load (add %vreg0, Constant<8>), undef),  <= A<br>
                                  TargetConstant<2>),<br>
                   (load %vreg0, undef),                                    <= B<br>
                   Constant<1>)<br>
<br>
This is turned into a LD1LANEpost node.  However the address in A is not a<br>
valid user of the post-incremented address of B in LD1LANEpost.<br>
<br>
It’s also strange that the cycle detection in AssignTopologicalOrder didn’t catch this.  I will see why.<br>
<br>
Fixes povray and dealII.<br>
<br>
OK to commit?<br>
<span class="HOEnZb"><font color="#888888"><br>
Adam<br>
<br>
</font></span><br>_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
<br></blockquote></div><br></div>