LLVM
22.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/Support/DataTypes.h
"
18
19
#include <memory>
20
21
namespace
llvm
{
22
class
MCAsmBackend
;
23
class
MCCodeEmitter
;
24
class
MCContext
;
25
class
MCInstrInfo
;
26
class
MCObjectTargetWriter
;
27
class
MCRegisterInfo
;
28
class
MCSubtargetInfo
;
29
class
MCTargetOptions
;
30
class
Target
;
31
class
Triple
;
32
33
MCCodeEmitter
*
createSparcMCCodeEmitter
(
const
MCInstrInfo
&MCII,
34
MCContext
&Ctx);
35
MCAsmBackend
*
createSparcAsmBackend
(
const
Target
&
T
,
const
MCSubtargetInfo
&STI,
36
const
MCRegisterInfo
&
MRI
,
37
const
MCTargetOptions
&
Options
);
38
std::unique_ptr<MCObjectTargetWriter>
39
createSparcELFObjectWriter
(
bool
Is64Bit,
bool
IsV8Plus, uint8_t OSABI);
40
41
// Defines symbolic names for Sparc v9 ASI tag names.
42
namespace
SparcASITag
{
43
struct
ASITag
{
44
const
char
*
Name
;
45
const
char
*
AltName
;
46
unsigned
Encoding
;
47
};
48
49
#define GET_ASITagsList_DECL
50
#include "SparcGenSearchableTables.inc"
51
}
// end namespace SparcASITag
52
53
// Defines symbolic names for Sparc v9 prefetch tag names.
54
namespace
SparcPrefetchTag
{
55
struct
PrefetchTag
{
56
const
char
*
Name
;
57
unsigned
Encoding
;
58
};
59
60
#define GET_PrefetchTagsList_DECL
61
#include "SparcGenSearchableTables.inc"
62
}
// end namespace SparcPrefetchTag
63
}
// End llvm namespace
64
65
// Defines symbolic names for Sparc registers. This defines a mapping from
66
// register name to register number.
67
//
68
#define GET_REGINFO_ENUM
69
#include "SparcGenRegisterInfo.inc"
70
71
// Defines symbolic names for the Sparc instructions.
72
//
73
#define GET_INSTRINFO_ENUM
74
#define GET_INSTRINFO_MC_HELPER_DECLS
75
#include "SparcGenInstrInfo.inc"
76
77
#define GET_SUBTARGETINFO_ENUM
78
#include "SparcGenSubtargetInfo.inc"
79
80
#endif
MRI
unsigned const MachineRegisterInfo * MRI
Definition
AArch64AdvSIMDScalarPass.cpp:103
Options
static LVOptions Options
Definition
LVOptions.cpp:25
T
#define T
Definition
Mips16ISelLowering.cpp:353
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:23
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:150
llvm::MCSubtargetInfo
Generic base class for all target subtargets.
Definition
MCSubtargetInfo.h:77
llvm::MCTargetOptions
Definition
MCTargetOptions.h:29
llvm::Target
Target - Wrapper for Target specific information.
Definition
TargetRegistry.h:146
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
AddressRanges.h:18
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:278
llvm::SparcASITag::ASITag
Definition
SparcMCTargetDesc.h:43
llvm::SparcASITag::ASITag::AltName
const char * AltName
Definition
SparcMCTargetDesc.h:45
llvm::SparcASITag::ASITag::Encoding
unsigned Encoding
Definition
SparcMCTargetDesc.h:46
llvm::SparcASITag::ASITag::Name
const char * Name
Definition
SparcMCTargetDesc.h:44
llvm::SparcPrefetchTag::PrefetchTag
Definition
SparcMCTargetDesc.h:55
llvm::SparcPrefetchTag::PrefetchTag::Name
const char * Name
Definition
SparcMCTargetDesc.h:56
llvm::SparcPrefetchTag::PrefetchTag::Encoding
unsigned Encoding
Definition
SparcMCTargetDesc.h:57
Generated on
for LLVM by
1.14.0