LLVM 22.0.0git
MipsMCTargetDesc.h
Go to the documentation of this file.
1//===-- MipsMCTargetDesc.h - Mips Target Descriptions -----------*- C++ -*-===//
2//
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
6//
7//===----------------------------------------------------------------------===//
8//
9// This file provides Mips specific target descriptions.
10//
11//===----------------------------------------------------------------------===//
12
13#ifndef LLVM_LIB_TARGET_MIPS_MCTARGETDESC_MIPSMCTARGETDESC_H
14#define LLVM_LIB_TARGET_MIPS_MCTARGETDESC_MIPSMCTARGETDESC_H
15
17
18#include <memory>
19
20namespace llvm {
21class MCAsmBackend;
22class MCCodeEmitter;
23class MCContext;
24class MCInstrInfo;
26class MCObjectWriter;
27class MCRegisterInfo;
28class MCStreamer;
29class MCSubtargetInfo;
30class MCTargetOptions;
31class StringRef;
32class Target;
33class Triple;
34
36 MCContext &Ctx);
38 MCContext &Ctx);
39
41 const MCRegisterInfo &MRI,
43
44/// Construct an MIPS Windows COFF machine code streamer which will generate
45/// PE/COFF format object files.
46///
47/// Takes ownership of \p AB and \p CE.
49 std::unique_ptr<MCAsmBackend> &&AB,
50 std::unique_ptr<MCObjectWriter> &&OW,
51 std::unique_ptr<MCCodeEmitter> &&CE);
52
53/// Construct a Mips ELF object writer.
54std::unique_ptr<MCObjectTargetWriter>
55createMipsELFObjectWriter(const Triple &TT, bool IsN32);
56/// Construct a Mips Win COFF object writer.
57std::unique_ptr<MCObjectTargetWriter> createMipsWinCOFFObjectWriter();
58
64
65} // End llvm namespace
66
67// Defines symbolic names for Mips registers. This defines a mapping from
68// register name to register number.
69#define GET_REGINFO_ENUM
70#include "MipsGenRegisterInfo.inc"
71
72// Defines symbolic names for the Mips instructions.
73#define GET_INSTRINFO_ENUM
74#define GET_INSTRINFO_MC_HELPER_DECLS
75#include "MipsGenInstrInfo.inc"
76
77#define GET_SUBTARGETINFO_ENUM
78#include "MipsGenSubtargetInfo.inc"
79
80#endif
unsigned const MachineRegisterInfo * MRI
static LVOptions Options
Definition LVOptions.cpp:25
#define T
Generic interface to target specific assembler backends.
MCCodeEmitter - Generic instruction encoding interface.
Context object for machine code objects.
Definition MCContext.h:83
Interface to description of machine instruction set.
Definition MCInstrInfo.h:27
Base class for classes that define behaviour that is specific to both the target and the object forma...
Defines the object file and target independent interfaces used by the assembler backend to write nati...
MCRegisterInfo base class - We assume that the target defines a static array of MCRegisterDesc object...
Streaming machine code generation interface.
Definition MCStreamer.h:220
Generic base class for all target subtargets.
StringRef - Represent a constant reference to a string, i.e.
Definition StringRef.h:55
Target - Wrapper for Target specific information.
Triple - Helper class for working with autoconf configuration names.
Definition Triple.h:47
@ C
The default llvm calling convention, compatible with C.
Definition CallingConv.h:34
StringRef selectMipsCPU(const Triple &TT, StringRef CPU)
Select the Mips CPU for the given triple and cpu name.
void initLLVMToCVRegMapping(MCRegisterInfo *MRI)
This is an optimization pass for GlobalISel generic memory operations.
MCCodeEmitter * createMipsMCCodeEmitterEL(const MCInstrInfo &MCII, MCContext &Ctx)
MCCodeEmitter * createMipsMCCodeEmitterEB(const MCInstrInfo &MCII, MCContext &Ctx)
std::unique_ptr< MCObjectTargetWriter > createMipsELFObjectWriter(const Triple &TT, bool IsN32)
Construct a Mips ELF object writer.
MCStreamer * createMipsWinCOFFStreamer(MCContext &C, std::unique_ptr< MCAsmBackend > &&AB, std::unique_ptr< MCObjectWriter > &&OW, std::unique_ptr< MCCodeEmitter > &&CE)
Construct an MIPS Windows COFF machine code streamer which will generate PE/COFF format object files.
std::unique_ptr< MCObjectTargetWriter > createMipsWinCOFFObjectWriter()
Construct a Mips Win COFF object writer.
MCAsmBackend * createMipsAsmBackend(const Target &T, const MCSubtargetInfo &STI, const MCRegisterInfo &MRI, const MCTargetOptions &Options)