aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2008-02-22 03:10:23 +0000
committerDevang Patel <dpatel@apple.com>2008-02-22 03:10:23 +0000
commit452743e5e404aee5d42cb5573d7939f49a32cac9 (patch)
tree483f56335c52a32b416c3d976d24fe8805844860
parentec25f24dbf461576d459bb4e297716dc82a17c33 (diff)
Print getresult instruction properly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47473 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/VMCore/AsmWriter.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/VMCore/AsmWriter.cpp b/lib/VMCore/AsmWriter.cpp
index b1f15c676f..d376e7f611 100644
--- a/lib/VMCore/AsmWriter.cpp
+++ b/lib/VMCore/AsmWriter.cpp
@@ -1291,6 +1291,19 @@ void AssemblyWriter::printInstruction(const Instruction &I) {
writeOperand(I.getOperand(op ), false); Out << ',';
writeOperand(I.getOperand(op+1), false); Out << " ]";
}
+ } else if (isa<GetResultInst>(I)) {
+ const StructType *STy = cast<StructType>(I.getOperand(0)->getType());
+ unsigned NumElems = STy->getNumElements();
+ Out << " {";
+ for (unsigned i = 0; i < NumElems; ++i) {
+ if (i)
+ Out << ",";
+ Out << " ";
+ printType(STy->getElementType(i));
+ }
+ Out << " }";
+ writeOperand(I.getOperand(0), false);
+ Out << ", " << cast<GetResultInst>(I).getIndex();
} else if (isa<ReturnInst>(I)) {
if (!Operand)
Out << " void";