LLVM
23.0.0git
lib
Target
Sparc
MCTargetDesc
SparcMCTargetDesc.h
Go to the documentation of this file.
1
//===-- SparcMCTargetDesc.h - Sparc 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 Sparc specific target descriptions.
10
//
11
//===----------------------------------------------------------------------===//
12
13
#ifndef LLVM_LIB_TARGET_SPARC_MCTARGETDESC_SPARCMCTARGETDESC_H
14
#define LLVM_LIB_TARGET_SPARC_MCTARGETDESC_SPARCMCTARGETDESC_H
15
16
#include "
llvm/ADT/StringRef.h
"
17
#include "
llvm/ADT/StringTable.h
"
18
#include "
llvm/Support/DataTypes.h
"
19
20
#include <memory>
21
22
namespace
llvm
{
23
class
MCAsmBackend
;
24
class
MCCodeEmitter
;
25
class
MCContext
;
26
class
MCInstrInfo
;
27
class
MCObjectTargetWriter
;
28
class
MCRegisterInfo
;
29
class
MCSubtargetInfo
;
30
class
MCTargetOptions
;
31
class
Target
;
32
class
Triple
;
33
34
MCCodeEmitter
*
createSparcMCCodeEmitter
(
const
MCInstrInfo
&MCII,
35
MCContext
&Ctx);
36
MCAsmBackend
*
createSparcAsmBackend
(
const
Target
&
T
,
const
MCSubtargetInfo
&STI,
37
const
MCRegisterInfo
&MRI,
38
const
MCTargetOptions
&
Options
);
39
std::unique_ptr<MCObjectTargetWriter>
40
createSparcELFObjectWriter
(
bool
Is64Bit,
bool
IsV8Plus, uint8_t OSABI);
41
42
// Defines symbolic names for Sparc v9 ASI tag names.
43
namespace
SparcASITag
{
44
struct
ASITag
{
45
StringTable::Offset
Name
;
46
StringTable::Offset
AltName
;
47
unsigned
Encoding
;
48
};
49
50
#define GET_ASITagsList_DECL
51
#include "SparcGenSearchableTables.inc"
52
}
// end namespace SparcASITag
53
54
// Defines symbolic names for Sparc v9 prefetch tag names.
55
namespace
SparcPrefetchTag
{
56
struct
PrefetchTag
{
57
StringTable::Offset
Name
;
58
unsigned
Encoding
;
59
};
60
61
#define GET_PrefetchTagsList_DECL
62
#include "SparcGenSearchableTables.inc"
63
}
// end namespace SparcPrefetchTag
64
}
// End llvm namespace
65
66
// Defines symbolic names for Sparc registers. This defines a mapping from
67
// register name to register number.
68
//
69
#define GET_REGINFO_ENUM
70
#include "SparcGenRegisterInfo.inc"
71
72
// Defines symbolic names for the Sparc instructions.
73
//
74
#define GET_INSTRINFO_ENUM
75
#define GET_INSTRINFO_MC_HELPER_DECLS
76
#include "SparcGenInstrInfo.inc"
77
78
#define GET_SUBTARGETINFO_ENUM
79
#include "SparcGenSubtargetInfo.inc"
80
81
#endif
StringTable.h
Options
static LVOptions Options
Definition
LVOptions.cpp:25
T
#define T
Definition
Mips16ISelLowering.cpp:282
StringRef.h
llvm::MCAsmBackend
Generic interface to target specific assembler backends.
Definition
MCAsmBackend.h:55
llvm::MCCodeEmitter
MCCodeEmitter - Generic instruction encoding interface.
Definition
MCCodeEmitter.h:22
llvm::MCContext
Context object for machine code objects.
Definition
MCContext.h:83
llvm::MCInstrInfo
Interface to description of machine instruction set.
Definition
MCInstrInfo.h:27
llvm::MCObjectTargetWriter
Base class for classes that define behaviour that is specific to both the target and the object forma...
Definition
MCObjectWriter.h:136
llvm::MCRegisterInfo
MCRegisterInfo base class - We assume that the target defines a static array of MCRegisterDesc object...
Definition
MCRegisterInfo.h:162
llvm::MCSubtargetInfo
Generic base class for all target subtargets.
Definition
MCSubtargetInfo.h:103
llvm::MCTargetOptions
Definition
MCTargetOptions.h:38
llvm::StringTable::Offset
Definition
StringTable.h:49
llvm::Target
Target - Wrapper for Target specific information.
Definition
TargetRegistry.h:148
llvm::Triple
Triple - Helper class for working with autoconf configuration names.
Definition
Triple.h:47
DataTypes.h
llvm::SparcASITag
Definition
SparcMCTargetDesc.cpp:26
llvm::SparcPrefetchTag
Definition
SparcMCTargetDesc.cpp:31
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition
FunctionInfo.h:25
llvm::createSparcELFObjectWriter
std::unique_ptr< MCObjectTargetWriter > createSparcELFObjectWriter(bool Is64Bit, bool IsV8Plus, uint8_t OSABI)
Definition
SparcELFObjectWriter.cpp:141
llvm::createSparcAsmBackend
MCAsmBackend * createSparcAsmBackend(const Target &T, const MCSubtargetInfo &STI, const MCRegisterInfo &MRI, const MCTargetOptions &Options)
Definition
SparcAsmBackend.cpp:271
llvm::createSparcMCCodeEmitter
MCCodeEmitter * createSparcMCCodeEmitter(const MCInstrInfo &MCII, MCContext &Ctx)
Definition
SparcMCCodeEmitter.cpp:277
llvm::SparcASITag::ASITag
Definition
SparcMCTargetDesc.h:44
llvm::SparcASITag::ASITag::Name
StringTable::Offset Name
Definition
SparcMCTargetDesc.h:45
llvm::SparcASITag::ASITag::Encoding
unsigned Encoding
Definition
SparcMCTargetDesc.h:47
llvm::SparcASITag::ASITag::AltName
StringTable::Offset AltName
Definition
SparcMCTargetDesc.h:46
llvm::SparcPrefetchTag::PrefetchTag
Definition
SparcMCTargetDesc.h:56
llvm::SparcPrefetchTag::PrefetchTag::Name
StringTable::Offset Name
Definition
SparcMCTargetDesc.h:57
llvm::SparcPrefetchTag::PrefetchTag::Encoding
unsigned Encoding
Definition
SparcMCTargetDesc.h:58
Generated on
for LLVM by
1.14.0