[llvm-commits] CVS: llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
Anton Korobeynikov
asl at math.spbu.ru
Thu Feb 1 00:40:22 PST 2007
Changes in directory llvm/lib/CodeGen/SelectionDAG:
LegalizeDAG.cpp updated: 1.464 -> 1.465
---
Log message:
Fixed uninitialized stuff inside LegalizeDAG. Fortunately, the only
affected part is codegen of "memove" inside x86 backend. This fixes
PR1144: http://llvm.org/PR1144
---
Diffs of the changes: (+5 -4)
LegalizeDAG.cpp | 9 +++++----
1 files changed, 5 insertions(+), 4 deletions(-)
Index: llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
diff -u llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.464 llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.465
--- llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.464 Wed Jan 31 22:55:59 2007
+++ llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp Thu Feb 1 02:39:52 2007
@@ -2178,7 +2178,7 @@
const char *FnName = 0;
if (Node->getOpcode() == ISD::MEMSET) {
Entry.Node = Tmp2; Entry.isSigned = false; Entry.Ty = IntPtrTy;
- Entry.isInReg = false;
+ Entry.isInReg = false; Entry.isSRet = false;
Args.push_back(Entry);
// Extend the (previously legalized) ubyte argument to be an int value
// for the call.
@@ -2187,7 +2187,7 @@
else
Tmp3 = DAG.getNode(ISD::ZERO_EXTEND, MVT::i32, Tmp3);
Entry.Node = Tmp3; Entry.Ty = Type::Int32Ty; Entry.isSigned = true;
- Entry.isInReg = false;
+ Entry.isInReg = false; Entry.isSRet = false;
Args.push_back(Entry);
Entry.Node = Tmp4; Entry.Ty = IntPtrTy; Entry.isSigned = false;
Args.push_back(Entry);
@@ -2195,7 +2195,8 @@
FnName = "memset";
} else if (Node->getOpcode() == ISD::MEMCPY ||
Node->getOpcode() == ISD::MEMMOVE) {
- Entry.Ty = IntPtrTy; Entry.isSigned = false; Entry.isInReg = false;
+ Entry.Ty = IntPtrTy;
+ Entry.isSigned = false; Entry.isInReg = false; Entry.isSRet = false;
Entry.Node = Tmp2; Args.push_back(Entry);
Entry.Node = Tmp3; Args.push_back(Entry);
Entry.Node = Tmp4; Args.push_back(Entry);
@@ -4122,7 +4123,7 @@
MVT::ValueType ArgVT = Node->getOperand(i).getValueType();
const Type *ArgTy = MVT::getTypeForValueType(ArgVT);
Entry.Node = Node->getOperand(i); Entry.Ty = ArgTy;
- Entry.isSigned = isSigned; Entry.isInReg = false;
+ Entry.isSigned = isSigned; Entry.isInReg = false; Entry.isSRet = false;
Args.push_back(Entry);
}
SDOperand Callee = DAG.getExternalSymbol(Name, TLI.getPointerTy());
More information about the llvm-commits
mailing list