summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2004-10-17 02:44:45 +0000
committerChris Lattner <sabre@nondot.org>2004-10-17 02:44:45 +0000
commitf6666db0321afff95fe9ff353d2b3b47ec19a733 (patch)
treef0dc6b41d96d82a2bf3e4321299c412426bf424d /llvm/lib/Target
parent37b138a00bd97c7540b0f2821dbb03feb42751fb (diff)
downloadbcm5719-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.cpp6
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);
OpenPOWER on IntegriCloud