[PATCH][ARM64] Fix cycle in DAG after performPostLD1Combine
Adam Nemet
anemet at apple.com
Tue May 20 14:59:52 PDT 2014
Thanks, James! This is r209242.
On May 20, 2014, at 2:06 PM, James Molloy <james at jamesmolloy.co.uk> wrote:
> Hi Adam,
>
> Thanks for debugging this! Hao is away for the remainder of this week, but the patch looks obviously correct to me.
>
> Cheers,
>
> James
>
>
> On 20 May 2014 21:55, Adam Nemet <anemet at apple.com> wrote:
> I think this is pretty obvious but want to make sure the original author is fine with this.
>
> Povray and dealII currently assert with "Overran sorted position" in
> AssignTopologicalOrder. The problem is that performPostLD1Combine can
> introduce cycles.
>
> Consider:
>
> (insert_vector_elt (INSERT_SUBREG undef,
> (load (add %vreg0, Constant<8>), undef), <= A
> TargetConstant<2>),
> (load %vreg0, undef), <= B
> Constant<1>)
>
> This is turned into a LD1LANEpost node. However the address in A is not a
> valid user of the post-incremented address of B in LD1LANEpost.
>
> It’s also strange that the cycle detection in AssignTopologicalOrder didn’t catch this. I will see why.
>
> Fixes povray and dealII.
>
> OK to commit?
>
> Adam
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140520/542a5f29/attachment.html>
More information about the llvm-commits
mailing list