mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-19 02:25:01 +00:00
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
42 lines
1.2 KiB
C++
42 lines
1.2 KiB
C++
//===- ARM64Disassembler.h - Disassembler for ARM64 -------------*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
//
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef ARM64DISASSEMBLER_H
|
|
#define ARM64DISASSEMBLER_H
|
|
|
|
#include "llvm/MC/MCDisassembler.h"
|
|
|
|
namespace llvm {
|
|
|
|
class MCInst;
|
|
class MemoryObject;
|
|
class raw_ostream;
|
|
|
|
class ARM64Disassembler : public MCDisassembler {
|
|
public:
|
|
ARM64Disassembler(const MCSubtargetInfo &STI, MCContext &Ctx)
|
|
: MCDisassembler(STI, Ctx) {}
|
|
|
|
~ARM64Disassembler() {}
|
|
|
|
/// getInstruction - See MCDisassembler.
|
|
MCDisassembler::DecodeStatus getInstruction(MCInst &instr, uint64_t &size,
|
|
const MemoryObject ®ion,
|
|
uint64_t address,
|
|
raw_ostream &vStream,
|
|
raw_ostream &cStream) const;
|
|
};
|
|
|
|
} // namespace llvm
|
|
|
|
#endif
|