[llvm-branch-commits] [llvm-branch] r103311 - in /llvm/branches/Apple/Morbo: lib/CodeGen/SelectionDAG/InstrEmitter.cpp lib/VMCore/AsmWriter.cpp test/CodeGen/Generic/legalize-dbg-value.ll
Dan Gohman
gohman at apple.com
Fri May 7 15:20:42 PDT 2010
Author: djg
Date: Fri May 7 17:20:42 2010
New Revision: 103311
URL: http://llvm.org/viewvc/llvm-project?rev=103311&view=rev
Log:
$ svn merge -c 103310 https://djg@llvm.org/svn/llvm-project/llvm/trunk
--- Merging r103310 into '.':
A test/CodeGen/Generic/legalize-dbg-value.ll
U lib/CodeGen/SelectionDAG/InstrEmitter.cpp
$ svn merge -c 103309 https://djg@llvm.org/svn/llvm-project/llvm/trunk
--- Merging r103309 into '.':
U lib/VMCore/AsmWriter.cpp
Added:
llvm/branches/Apple/Morbo/test/CodeGen/Generic/legalize-dbg-value.ll
- copied unchanged from r103310, llvm/trunk/test/CodeGen/Generic/legalize-dbg-value.ll
Modified:
llvm/branches/Apple/Morbo/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
llvm/branches/Apple/Morbo/lib/VMCore/AsmWriter.cpp
Modified: llvm/branches/Apple/Morbo/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Morbo/lib/CodeGen/SelectionDAG/InstrEmitter.cpp?rev=103311&r1=103310&r2=103311&view=diff
==============================================================================
--- llvm/branches/Apple/Morbo/lib/CodeGen/SelectionDAG/InstrEmitter.cpp (original)
+++ llvm/branches/Apple/Morbo/lib/CodeGen/SelectionDAG/InstrEmitter.cpp Fri May 7 17:20:42 2010
@@ -539,7 +539,13 @@
} else if (SD->getKind() == SDDbgValue::CONST) {
Value *V = SD->getConst();
if (ConstantInt *CI = dyn_cast<ConstantInt>(V)) {
- MIB.addImm(CI->getSExtValue());
+ // FIXME: SDDbgValues aren't updated with legalization, so it's possible
+ // to have i128 values in them at this point. As a crude workaround, just
+ // drop the debug info if this happens.
+ if (!CI->getValue().isSignedIntN(64))
+ MIB.addReg(0U);
+ else
+ MIB.addImm(CI->getSExtValue());
} else if (ConstantFP *CF = dyn_cast<ConstantFP>(V)) {
MIB.addFPImm(CF);
} else {
Modified: llvm/branches/Apple/Morbo/lib/VMCore/AsmWriter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/Apple/Morbo/lib/VMCore/AsmWriter.cpp?rev=103311&r1=103310&r2=103311&view=diff
==============================================================================
--- llvm/branches/Apple/Morbo/lib/VMCore/AsmWriter.cpp (original)
+++ llvm/branches/Apple/Morbo/lib/VMCore/AsmWriter.cpp Fri May 7 17:20:42 2010
@@ -2010,9 +2010,9 @@
return;
ConstantInt *CI = dyn_cast_or_null<ConstantInt>(Node->getOperand(0));
if (!CI) return;
- unsigned Val = CI->getZExtValue();
- unsigned Tag = Val & ~LLVMDebugVersionMask;
- if (Val < LLVMDebugVersion)
+ APInt Val = CI->getValue();
+ APInt Tag = Val & ~APInt(Val.getBitWidth(), LLVMDebugVersionMask);
+ if (Val.ult(LLVMDebugVersion))
return;
Out.PadToColumn(50);
@@ -2026,8 +2026,10 @@
Out << "; [ DW_TAG_vector_type ]";
else if (Tag == dwarf::DW_TAG_user_base)
Out << "; [ DW_TAG_user_base ]";
- else if (const char *TagName = dwarf::TagString(Tag))
- Out << "; [ " << TagName << " ]";
+ else if (Tag.isIntN(32)) {
+ if (const char *TagName = dwarf::TagString(Tag.getZExtValue()))
+ Out << "; [ " << TagName << " ]";
+ }
}
void AssemblyWriter::writeAllMDNodes() {
More information about the llvm-branch-commits
mailing list