| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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).
llvm-svn: 206241
|
| |
|
|
| |
llvm-svn: 206116
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 206063
|
| |
|
|
| |
llvm-svn: 205895
|
| |
|
|
| |
llvm-svn: 205893
|
| |
|
|
| |
llvm-svn: 205887
|
| |
|
|
| |
llvm-svn: 205882
|
| |
|
|
|
|
| |
during disassembly.
llvm-svn: 205873
|
| |
|
|
|
|
| |
using AArch64-style system registers, and fix up test failures discovered in the process.
llvm-svn: 205868
|
| |
|
|
|
|
| |
These files are required in the decoder, disassembler and parser, and a layering violation was imminent.
llvm-svn: 205867
|
| |
|
|
|
|
| |
also (for add/sub only) if shift=11.
llvm-svn: 205865
|
| |
|
|
| |
llvm-svn: 205860
|
| |
|
|
|
|
| |
instructions is unallocated if shift > 4.
llvm-svn: 205859
|
| |
|
|
|
|
| |
00x or 10x are undefined.
llvm-svn: 205858
|
| |
|
|
| |
llvm-svn: 205301
|
| |
|
|
|
|
| |
always initialize Size argument.
llvm-svn: 205171
|
| |
|
|
|
|
|
|
|
|
|
| |
no assert at all. ;] Some of these should probably be switched to
llvm_unreachable, but I didn't want to perturb the behavior in this
patch.
Found by -Wstring-conversion, which I'll try to turn on in CMake builds
at least as it is finding useful things.
llvm-svn: 205091
|
|
|
This adds a second implementation of the AArch64 architecture to LLVM,
accessible in parallel via the "arm64" triple. The plan over the
coming weeks & months is to merge the two into a single backend,
during which time thorough code review should naturally occur.
Everything will be easier with the target in-tree though, hence this
commit.
llvm-svn: 205090
|