diff options
| author | Chris Lattner <sabre@nondot.org> | 2004-10-17 02:44:45 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2004-10-17 02:44:45 +0000 |
| commit | f6666db0321afff95fe9ff353d2b3b47ec19a733 (patch) | |
| tree | f0dc6b41d96d82a2bf3e4321299c412426bf424d /llvm/lib/Target | |
| parent | 37b138a00bd97c7540b0f2821dbb03feb42751fb (diff) | |
| download | bcm5719-llvm-f6666db0321afff95fe9ff353d2b3b47ec19a733.tar.gz bcm5719-llvm-f6666db0321afff95fe9ff353d2b3b47ec19a733.zip | |
I forgot that sparc no longer uses the shared asmwriter. Give it support
for undef.
llvm-svn: 17075
Diffstat (limited to 'llvm/lib/Target')
| -rw-r--r-- | llvm/lib/Target/SparcV9/SparcV9AsmPrinter.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/Target/SparcV9/SparcV9AsmPrinter.cpp b/llvm/lib/Target/SparcV9/SparcV9AsmPrinter.cpp index 1c0d1c000ad..8000a014fc9 100644 --- a/llvm/lib/Target/SparcV9/SparcV9AsmPrinter.cpp +++ b/llvm/lib/Target/SparcV9/SparcV9AsmPrinter.cpp @@ -323,7 +323,9 @@ void AsmPrinter::printSingleConstantValue(const Constant* CV) { O << ConstantExprToString(CE, TM) << "\n"; } else if (CV->getType()->isPrimitiveType()) { // Check primitive types last - if (CV->getType()->isFloatingPoint()) { + if (isa<UndefValue>(CV)) { + O << "0\n"; + } else if (CV->getType()->isFloatingPoint()) { // FP Constants are printed as integer constants to avoid losing // precision... double Val = cast<ConstantFP>(CV)->getValue(); @@ -385,7 +387,7 @@ void AsmPrinter::printConstantValueOnly(const Constant* CV, } assert(sizeSoFar == cvsLayout->StructSize && "Layout of constant struct may be incorrect!"); - } else if (isa<ConstantAggregateZero>(CV)) { + } else if (isa<ConstantAggregateZero>(CV) || isa<UndefValue>(CV)) { PrintZeroBytesToPad(TM.getTargetData().getTypeSize(CV->getType())); } else printSingleConstantValue(CV); |

