[Objdump] Pass the correct subtarget to printInst.
authorAkira Hatanaka <ahatanaka@apple.com>
Sat, 28 Mar 2015 20:44:05 +0000 (20:44 +0000)
committerAkira Hatanaka <ahatanaka@apple.com>
Sat, 28 Mar 2015 20:44:05 +0000 (20:44 +0000)
This fixes a bug I introduced in r233411.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@233484 91177308-0d34-0410-b5e6-96231b3b80d8

test/tools/llvm-objdump/AArch64/Inputs/print-mrs.obj.macho-aarch64 [new file with mode: 0644]
test/tools/llvm-objdump/AArch64/macho-print-mrs.test [new file with mode: 0644]
tools/llvm-objdump/MachODump.cpp

diff --git a/test/tools/llvm-objdump/AArch64/Inputs/print-mrs.obj.macho-aarch64 b/test/tools/llvm-objdump/AArch64/Inputs/print-mrs.obj.macho-aarch64
new file mode 100644 (file)
index 0000000..06cb13d
Binary files /dev/null and b/test/tools/llvm-objdump/AArch64/Inputs/print-mrs.obj.macho-aarch64 differ
diff --git a/test/tools/llvm-objdump/AArch64/macho-print-mrs.test b/test/tools/llvm-objdump/AArch64/macho-print-mrs.test
new file mode 100644 (file)
index 0000000..cc1d14f
--- /dev/null
@@ -0,0 +1,3 @@
+RUN: llvm-objdump -d -m -no-show-raw-insn %p/Inputs/print-mrs.obj.macho-aarch64 | FileCheck %s
+
+CHECK: 0:  mrs x0, S3_7_C15_C2_0
index 08573eeb0d2182afe08bc67fe9c33d67acb0917f..43cf6671e6111949e21deccd2e404b1b8919b117 100644 (file)
@@ -3349,7 +3349,7 @@ static void DisassembleMachO(StringRef Filename, MachOObjectFile *MachOOF,
           if (isThumb)
             ThumbIP->printInst(&Inst, FormattedOS, AnnotationsStr, *ThumbSTI);
           else
-            IP->printInst(&Inst, FormattedOS, AnnotationsStr, *ThumbSTI);
+            IP->printInst(&Inst, FormattedOS, AnnotationsStr, *STI);
           emitComments(CommentStream, CommentsToEmit, FormattedOS, *AsmInfo);
 
           // Print debug info.
@@ -3408,7 +3408,7 @@ static void DisassembleMachO(StringRef Filename, MachOObjectFile *MachOOF,
             outs() << "\t";
             DumpBytes(ArrayRef<uint8_t>(Bytes.data() + Index, InstSize));
           }
-          IP->printInst(&Inst, outs(), "", *ThumbSTI);
+          IP->printInst(&Inst, outs(), "", *STI);
           outs() << "\n";
         } else {
           unsigned int Arch = MachOOF->getArch();