[llvm] r294003 - [SelectionDAG] Fix for PR30775: Assertion `NodeToMatch->getOpcode() !=

Hans Wennborg via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 3 13:37:35 PST 2017


This fixes PR30775, which is marked as a release blocker, but the
change looks a bit scary to me when considering merging it.

Justin, you're the SDAG owner; what do you think about merging this?

Thanks,
Hans

On Fri, Feb 3, 2017 at 4:28 AM, Alexey Bataev via llvm-commits
<llvm-commits at lists.llvm.org> wrote:
> Author: abataev
> Date: Fri Feb  3 06:28:40 2017
> New Revision: 294003
>
> URL: http://llvm.org/viewvc/llvm-project?rev=294003&view=rev
> Log:
> [SelectionDAG] Fix for PR30775: Assertion `NodeToMatch->getOpcode() !=
> ISD::DELETED_NODE && "NodeToMatch was removed partway through
> selection"' failed.
>
> NodeToMatch can be modified during matching, but code does not handle
> this situation.
>
> Differential Revision: https://reviews.llvm.org/D29292
>
> Added:
>     llvm/trunk/test/CodeGen/X86/dag-update-nodetomatch.ll
> Modified:
>     llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp


More information about the llvm-commits mailing list