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

Justin Bogner via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 15 13:33:23 PST 2017


I think the bug is scarier than the fix. Let's merge this.

Hans Wennborg <hans at chromium.org> writes:
> 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