1 //===-- M68kMCTargetDesc.h - M68k Target Descriptions -----------*- C++ -*-===//
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
10 /// This file provides M68k specific target descriptions.
12 //===----------------------------------------------------------------------===//
14 #ifndef LLVM_LIB_TARGET_M68K_MCTARGETDESC_M68KMCTARGETDESC_H
15 #define LLVM_LIB_TARGET_M68K_MCTARGETDESC_M68KMCTARGETDESC_H
17 #include "llvm/MC/MCInstrDesc.h"
18 #include "llvm/MC/MCObjectWriter.h"
19 #include "llvm/Support/DataTypes.h"
27 class MCSubtargetInfo
;
28 class MCRelocationInfo
;
29 class MCTargetOptions
;
34 class raw_pwrite_stream
;
36 MCAsmBackend
*createM68kAsmBackend(const Target
&T
, const MCSubtargetInfo
&STI
,
37 const MCRegisterInfo
&MRI
,
38 const MCTargetOptions
&Options
);
40 MCCodeEmitter
*createM68kMCCodeEmitter(const MCInstrInfo
&MCII
,
43 /// Construct an M68k ELF object writer.
44 std::unique_ptr
<MCObjectTargetWriter
> createM68kELFObjectWriter(uint8_t OSABI
);
48 // Defines symbolic names for M68k registers. This defines a mapping from
49 // register name to register number.
50 #define GET_REGINFO_ENUM
51 #include "M68kGenRegisterInfo.inc"
53 // Defines symbolic names for the M68k instructions.
54 #define GET_INSTRINFO_ENUM
55 #define GET_INSTRINFO_MC_HELPER_DECLS
56 #include "M68kGenInstrInfo.inc"
58 #define GET_SUBTARGETINFO_ENUM
59 #include "M68kGenSubtargetInfo.inc"
61 #endif // LLVM_LIB_TARGET_M68K_MCTARGETDESC_M68KMCTARGETDESC_H