diff options
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 1 | ||||
-rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/SelectionDAGCSEMap.cpp | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp index 72a7d330016..6fd8ba2a9ec 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp @@ -583,6 +583,7 @@ SDOperand SelectionDAG::getConstantPool(Constant *C, MVT::ValueType VT, SelectionDAGCSEMap::NodeID ID(Opc, getNodeValueTypes(VT)); ID.AddInteger(Alignment); ID.AddInteger(Offset); + ID.AddPointer(C); void *IP = 0; if (SDNode *E = CSEMap.FindNodeOrInsertPos(ID, IP)) return SDOperand(E, 0); diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGCSEMap.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGCSEMap.cpp index de5302adeaf..b42c70bb56d 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGCSEMap.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGCSEMap.cpp @@ -64,6 +64,7 @@ SelectionDAGCSEMap::NodeID::NodeID(SDNode *N) { case ISD::TargetConstantPool: AddInteger(cast<ConstantPoolSDNode>(N)->getAlignment()); AddInteger(cast<ConstantPoolSDNode>(N)->getOffset()); + AddPointer(cast<ConstantPoolSDNode>(N)->get()); break; } } |