diff options
author | Devang Patel <dpatel@apple.com> | 2008-02-22 03:10:23 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2008-02-22 03:10:23 +0000 |
commit | e665095da163cc6be8bc0dffd32edfd9548045e0 (patch) | |
tree | 645b79a030b40aeff4ec8d7393d483cd14d127dc /llvm/lib/VMCore/AsmWriter.cpp | |
parent | b5f5073a1a591dd59028fc01cd04677d3d8eac10 (diff) | |
download | bcm5719-llvm-e665095da163cc6be8bc0dffd32edfd9548045e0.tar.gz bcm5719-llvm-e665095da163cc6be8bc0dffd32edfd9548045e0.zip |
Print getresult instruction properly.
llvm-svn: 47473
Diffstat (limited to 'llvm/lib/VMCore/AsmWriter.cpp')
-rw-r--r-- | llvm/lib/VMCore/AsmWriter.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/llvm/lib/VMCore/AsmWriter.cpp b/llvm/lib/VMCore/AsmWriter.cpp index b1f15c676f0..d376e7f611d 100644 --- a/llvm/lib/VMCore/AsmWriter.cpp +++ b/llvm/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"; |