From: Evan Cheng Date: Wed, 11 Oct 2006 01:47:58 +0000 (+0000) Subject: FindModifiedNodeSlot needs to add LoadSDNode ivars to create proper SelectionDAGCSEMa... X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=9629abac79fe4efdd000ca1996b2cabd1609190c;p=oota-llvm.git FindModifiedNodeSlot needs to add LoadSDNode ivars to create proper SelectionDAGCSEMap ID. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30866 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp index 61f0a49d7a6..895ae47f99b 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp +++ b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp @@ -454,6 +454,15 @@ SDNode *SelectionDAG::FindModifiedNodeSlot(SDNode *N, SelectionDAGCSEMap::NodeID ID; ID.SetOpcode(N->getOpcode()); ID.SetValueTypes(N->getVTList()); + if (const LoadSDNode *LD = dyn_cast(N)) { + ID.AddInteger(LD->getAddressingMode()); + ID.AddInteger(LD->getExtensionType()); + ID.AddInteger(LD->getLoadVT()); + ID.AddPointer(LD->getSrcValue()); + ID.AddInteger(LD->getSrcValueOffset()); + ID.AddInteger(LD->getAlignment()); + ID.AddInteger(LD->isVolatile()); + } ID.SetOperands(Ops, NumOps); return CSEMap.FindNodeOrInsertPos(ID, InsertPos); }