summaryrefslogtreecommitdiff
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
commit7ff5a32a482e6c0c69ad2b49e2b24ea3e2019ad6 (patch)
treefe71ad097403e22ec5acb1ff46a1b7ade674dee2
parentd14d5b422371c1e10ed1866cd6e0c7ac33738a79 (diff)
downloadllvm-7ff5a32a482e6c0c69ad2b49e2b24ea3e2019ad6.tar.gz
llvm-7ff5a32a482e6c0c69ad2b49e2b24ea3e2019ad6.tar.bz2
llvm-7ff5a32a482e6c0c69ad2b49e2b24ea3e2019ad6.tar.xz
I forgot that sparc no longer uses the shared asmwriter. Give it support
for undef. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17075 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/SparcV9/SparcV9AsmPrinter.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/Target/SparcV9/SparcV9AsmPrinter.cpp b/lib/Target/SparcV9/SparcV9AsmPrinter.cpp
index 1c0d1c000a..8000a014fc 100644
--- a/lib/Target/SparcV9/SparcV9AsmPrinter.cpp
+++ b/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);