[MC] Require an MCContext when constructing an MCDisassembler.
authorLang Hames <lhames@gmail.com>
Tue, 15 Apr 2014 04:40:56 +0000 (04:40 +0000)
committerLang Hames <lhames@gmail.com>
Tue, 15 Apr 2014 04:40:56 +0000 (04:40 +0000)
commit508bd630466f9625ba07a3f601435e1ff824b768
tree4d9ba7c2f255580b8a25ad0a19db9616e7f4fd62
parent88f353252d6130469d5854efb37659d3ba015c02
[MC] Require an MCContext when constructing an MCDisassembler.

This patch re-introduces the MCContext member that was removed from
MCDisassembler in r206063, and requires that an MCContext be passed in at
MCDisassembler construction time. (Previously the MCContext member had been
initialized in an ad-hoc fashion after construction). The MCCContext member
can be used by MCDisassembler sub-classes to construct constant or
target-specific MCExprs.

This patch updates disassemblers for in-tree targets, and provides the
MCRegisterInfo instance that some disassemblers were using through the
MCContext (previously those backends were constructing their own
MCRegisterInfo instances).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206241 91177308-0d34-0410-b5e6-96231b3b80d8
17 files changed:
include/llvm/MC/MCDisassembler.h
include/llvm/Support/TargetRegistry.h
lib/MC/MCDisassembler/Disassembler.cpp
lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
lib/Target/ARM/Disassembler/ARMDisassembler.cpp
lib/Target/ARM64/Disassembler/ARM64Disassembler.cpp
lib/Target/ARM64/Disassembler/ARM64Disassembler.h
lib/Target/Mips/Disassembler/MipsDisassembler.cpp
lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp
lib/Target/Sparc/Disassembler/SparcDisassembler.cpp
lib/Target/SystemZ/Disassembler/SystemZDisassembler.cpp
lib/Target/X86/Disassembler/X86Disassembler.cpp
lib/Target/X86/Disassembler/X86Disassembler.h
lib/Target/XCore/Disassembler/XCoreDisassembler.cpp
tools/llvm-mc/Disassembler.cpp
tools/llvm-objdump/MachODump.cpp
tools/llvm-objdump/llvm-objdump.cpp