Remove redundant symbolization support from MCDisassembler interface.
authorLang Hames <lhames@gmail.com>
Fri, 11 Apr 2014 20:07:58 +0000 (20:07 +0000)
committerLang Hames <lhames@gmail.com>
Fri, 11 Apr 2014 20:07:58 +0000 (20:07 +0000)
commita02c32f31dd9da7bd1c5c72858c40568a3bd45df
treea5dc40ef26ec22427cca14109292fa994efa9c80
parent441d6d505bf3339b5c7bb4374216128a4935b25e
Remove redundant symbolization support from MCDisassembler interface.

MCDisassembler has an MCSymbolizer member that is meant to take care of
symbolizing during disassembly, but it also has several methods that enable the
disassembler to do symbolization internally (i.e. without an attached symbolizer
object). There is no need for this duplication, but ARM64 had been making use of
it. This patch moves the ARM64 symbolization logic out of ARM64Disassembler and
into an ARM64ExternalSymbolizer class, and removes the duplicated MCSymbolizer
functionality from the MCDisassembler interface. Symbolization will now be
done exclusively through MCSymbolizers.

There should be no impact on disassembly for any platform, but this allows us to
tidy up the MCDisassembler interface and simplify the process of (and invariants
related to) disassembler setup.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206063 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/MC/MCDisassembler.h
include/llvm/MC/MCExternalSymbolizer.h
lib/MC/MCDisassembler.cpp
lib/MC/MCDisassembler/Disassembler.cpp
lib/Target/ARM64/Disassembler/ARM64Disassembler.cpp
lib/Target/ARM64/Disassembler/ARM64Disassembler.h
lib/Target/ARM64/Disassembler/ARM64ExternalSymbolizer.cpp [new file with mode: 0644]
lib/Target/ARM64/Disassembler/ARM64ExternalSymbolizer.h [new file with mode: 0644]
lib/Target/ARM64/Disassembler/CMakeLists.txt