Add subclass data to the FoldingSetNode for MemIntrinsicSDNodes.
authorSean Fertile <sfertile@ca.ibm.com>
Fri, 27 Oct 2017 04:02:51 +0000 (04:02 +0000)
committerSean Fertile <sfertile@ca.ibm.com>
Fri, 27 Oct 2017 04:02:51 +0000 (04:02 +0000)
commit53b3cd421ee51059048673af439ac801fdacc27e
tree8afdf24c337b598d3fb19d345c5bb50fee57dcda
parent16267f1cbc65006943baa5e515ff9435ff83e471
Add subclass data to the FoldingSetNode for MemIntrinsicSDNodes.

Not having the subclass data on an MemIntrinsicSDNodes means it was possible
to try to fold 2 nodes with the same operands but differing MMO flags. This
would trip an assertion when trying to refine the alignment between the 2
MachineMemOperands.

Differential Revision: https://reviews.llvm.org/D38898

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@316737 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/SelectionDAG.h
lib/CodeGen/SelectionDAG/SelectionDAG.cpp
test/CodeGen/PowerPC/MMO-flags-assertion.ll [new file with mode: 0644]