diff options
author | James Molloy <james.molloy@arm.com> | 2011-09-07 17:24:38 +0000 |
---|---|---|
committer | James Molloy <james.molloy@arm.com> | 2011-09-07 17:24:38 +0000 |
commit | 4c493e8050c31de9fbfb9899ed59023336168347 (patch) | |
tree | 4b25409f03e0bcfe490f825b7d8777a1588272bb /llvm/lib/MC/MCDisassembler/EDDisassembler.cpp | |
parent | 524c33a27fb4abd7d3144e4d21b0b70791cdfac2 (diff) | |
download | bcm5719-llvm-4c493e8050c31de9fbfb9899ed59023336168347.tar.gz bcm5719-llvm-4c493e8050c31de9fbfb9899ed59023336168347.zip |
Refactor instprinter and mcdisassembler to take a SubtargetInfo. Add -mattr= handling to llvm-mc. Reviewed by Owen Anderson.
llvm-svn: 139237
Diffstat (limited to 'llvm/lib/MC/MCDisassembler/EDDisassembler.cpp')
-rw-r--r-- | llvm/lib/MC/MCDisassembler/EDDisassembler.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/llvm/lib/MC/MCDisassembler/EDDisassembler.cpp b/llvm/lib/MC/MCDisassembler/EDDisassembler.cpp index 68a201b96a9..70b6300d74b 100644 --- a/llvm/lib/MC/MCDisassembler/EDDisassembler.cpp +++ b/llvm/lib/MC/MCDisassembler/EDDisassembler.cpp @@ -178,7 +178,12 @@ EDDisassembler::EDDisassembler(CPUKey &key) : if (!AsmInfo) return; - Disassembler.reset(Tgt->createMCDisassembler()); + STI.reset(Tgt->createMCSubtargetInfo(tripleString, "", "")); + + if (!STI) + return; + + Disassembler.reset(Tgt->createMCDisassembler(*STI)); if (!Disassembler) return; @@ -187,7 +192,7 @@ EDDisassembler::EDDisassembler(CPUKey &key) : InstString.reset(new std::string); InstStream.reset(new raw_string_ostream(*InstString)); - InstPrinter.reset(Tgt->createMCInstPrinter(LLVMSyntaxVariant, *AsmInfo)); + InstPrinter.reset(Tgt->createMCInstPrinter(LLVMSyntaxVariant, *AsmInfo, *STI)); if (!InstPrinter) return; |