LLVM
22.0.0git
lib
Target
X86
MCTargetDesc
X86MCAsmInfo.h
Go to the documentation of this file.
1
//===-- X86MCAsmInfo.h - X86 asm properties --------------------*- 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 contains the declaration of the X86MCAsmInfo class.
10
//
11
//===----------------------------------------------------------------------===//
12
13
#ifndef LLVM_LIB_TARGET_X86_MCTARGETDESC_X86MCASMINFO_H
14
#define LLVM_LIB_TARGET_X86_MCTARGETDESC_X86MCASMINFO_H
15
16
#include "
MCTargetDesc/X86MCExpr.h
"
17
#include "
llvm/MC/MCAsmInfoCOFF.h
"
18
#include "
llvm/MC/MCAsmInfoDarwin.h
"
19
#include "
llvm/MC/MCAsmInfoELF.h
"
20
#include "
llvm/MC/MCExpr.h
"
21
22
namespace
llvm
{
23
class
Triple;
24
25
class
X86MCAsmInfoDarwin
:
public
MCAsmInfoDarwin
{
26
virtual
void
anchor();
27
28
public
:
29
explicit
X86MCAsmInfoDarwin
(
const
Triple
&
Triple
);
30
};
31
32
struct
X86_64MCAsmInfoDarwin
:
public
X86MCAsmInfoDarwin
{
33
explicit
X86_64MCAsmInfoDarwin
(
const
Triple
&
Triple
);
34
const
MCExpr
*
35
getExprForPersonalitySymbol
(
const
MCSymbol
*
Sym
,
unsigned
Encoding,
36
MCStreamer
&Streamer)
const override
;
37
};
38
39
class
X86ELFMCAsmInfo
:
public
MCAsmInfoELF
{
40
void
anchor()
override
;
41
42
public
:
43
explicit
X86ELFMCAsmInfo
(
const
Triple
&
Triple
);
44
};
45
46
class
X86MCAsmInfoMicrosoft
:
public
MCAsmInfoMicrosoft
{
47
void
anchor()
override
;
48
49
public
:
50
explicit
X86MCAsmInfoMicrosoft
(
const
Triple
&
Triple
);
51
};
52
53
class
X86MCAsmInfoMicrosoftMASM
:
public
X86MCAsmInfoMicrosoft
{
54
void
anchor()
override
;
55
56
public
:
57
explicit
X86MCAsmInfoMicrosoftMASM
(
const
Triple
&
Triple
);
58
};
59
60
class
X86MCAsmInfoGNUCOFF
:
public
MCAsmInfoGNUCOFF
{
61
void
anchor()
override
;
62
63
public
:
64
explicit
X86MCAsmInfoGNUCOFF
(
const
Triple
&
Triple
);
65
};
66
67
namespace
X86 {
68
using
Specifier
=
uint16_t
;
69
70
enum
{
71
S_None
,
72
S_COFF_SECREL
,
73
74
S_ABS8
=
MCSymbolRefExpr::FirstTargetSpecifier
,
75
S_DTPOFF
,
76
S_DTPREL
,
77
S_GOT
,
78
S_GOTENT
,
79
S_GOTNTPOFF
,
80
S_GOTOFF
,
81
S_GOTPCREL
,
82
S_GOTPCREL_NORELAX
,
83
S_GOTREL
,
84
S_GOTTPOFF
,
85
S_INDNTPOFF
,
86
S_NTPOFF
,
87
S_PCREL
,
88
S_PLT
,
89
S_PLTOFF
,
90
S_SIZE
,
91
S_TLSCALL
,
92
S_TLSDESC
,
93
S_TLSGD
,
94
S_TLSLD
,
95
S_TLSLDM
,
96
S_TLVP
,
97
S_TLVPPAGE
,
98
S_TLVPPAGEOFF
,
99
S_TPOFF
,
100
};
101
}
// namespace X86
102
}
// namespace llvm
103
104
#endif
Sym
Symbol * Sym
Definition:
ELF_riscv.cpp:479
MCAsmInfoCOFF.h
MCAsmInfoDarwin.h
MCAsmInfoELF.h
MCExpr.h
X86MCExpr.h
llvm::MCAsmInfoDarwin
Definition:
MCAsmInfoDarwin.h:21
llvm::MCAsmInfoELF
Definition:
MCAsmInfoELF.h:16
llvm::MCAsmInfoGNUCOFF
Definition:
MCAsmInfoCOFF.h:33
llvm::MCAsmInfoMicrosoft
Definition:
MCAsmInfoCOFF.h:26
llvm::MCExpr
Base class for the full range of assembler expressions which are needed for parsing.
Definition:
MCExpr.h:34
llvm::MCStreamer
Streaming machine code generation interface.
Definition:
MCStreamer.h:220
llvm::MCSymbolRefExpr::FirstTargetSpecifier
@ FirstTargetSpecifier
Definition:
MCExpr.h:200
llvm::MCSymbol
MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...
Definition:
MCSymbol.h:42
llvm::Triple
Triple - Helper class for working with autoconf configuration names.
Definition:
Triple.h:47
llvm::X86ELFMCAsmInfo
Definition:
X86MCAsmInfo.h:39
llvm::X86MCAsmInfoDarwin
Definition:
X86MCAsmInfo.h:25
llvm::X86MCAsmInfoGNUCOFF
Definition:
X86MCAsmInfo.h:60
llvm::X86MCAsmInfoMicrosoftMASM
Definition:
X86MCAsmInfo.h:53
llvm::X86MCAsmInfoMicrosoft
Definition:
X86MCAsmInfo.h:46
uint16_t
llvm::X86::S_DTPREL
@ S_DTPREL
Definition:
X86MCAsmInfo.h:76
llvm::X86::S_NTPOFF
@ S_NTPOFF
Definition:
X86MCAsmInfo.h:86
llvm::X86::S_GOTPCREL_NORELAX
@ S_GOTPCREL_NORELAX
Definition:
X86MCAsmInfo.h:82
llvm::X86::S_PLTOFF
@ S_PLTOFF
Definition:
X86MCAsmInfo.h:89
llvm::X86::S_TLVP
@ S_TLVP
Definition:
X86MCAsmInfo.h:96
llvm::X86::S_PCREL
@ S_PCREL
Definition:
X86MCAsmInfo.h:87
llvm::X86::S_TLSCALL
@ S_TLSCALL
Definition:
X86MCAsmInfo.h:91
llvm::X86::S_TPOFF
@ S_TPOFF
Definition:
X86MCAsmInfo.h:99
llvm::X86::S_GOTENT
@ S_GOTENT
Definition:
X86MCAsmInfo.h:78
llvm::X86::S_DTPOFF
@ S_DTPOFF
Definition:
X86MCAsmInfo.h:75
llvm::X86::S_TLSLDM
@ S_TLSLDM
Definition:
X86MCAsmInfo.h:95
llvm::X86::S_GOTTPOFF
@ S_GOTTPOFF
Definition:
X86MCAsmInfo.h:84
llvm::X86::S_PLT
@ S_PLT
Definition:
X86MCAsmInfo.h:88
llvm::X86::S_TLVPPAGE
@ S_TLVPPAGE
Definition:
X86MCAsmInfo.h:97
llvm::X86::S_INDNTPOFF
@ S_INDNTPOFF
Definition:
X86MCAsmInfo.h:85
llvm::X86::S_TLVPPAGEOFF
@ S_TLVPPAGEOFF
Definition:
X86MCAsmInfo.h:98
llvm::X86::S_ABS8
@ S_ABS8
Definition:
X86MCAsmInfo.h:74
llvm::X86::S_GOTPCREL
@ S_GOTPCREL
Definition:
X86MCAsmInfo.h:81
llvm::X86::S_GOTREL
@ S_GOTREL
Definition:
X86MCAsmInfo.h:83
llvm::X86::S_GOT
@ S_GOT
Definition:
X86MCAsmInfo.h:77
llvm::X86::S_TLSLD
@ S_TLSLD
Definition:
X86MCAsmInfo.h:94
llvm::X86::S_GOTOFF
@ S_GOTOFF
Definition:
X86MCAsmInfo.h:80
llvm::X86::S_None
@ S_None
Definition:
X86MCAsmInfo.h:71
llvm::X86::S_GOTNTPOFF
@ S_GOTNTPOFF
Definition:
X86MCAsmInfo.h:79
llvm::X86::S_TLSDESC
@ S_TLSDESC
Definition:
X86MCAsmInfo.h:92
llvm::X86::S_SIZE
@ S_SIZE
Definition:
X86MCAsmInfo.h:90
llvm::X86::S_COFF_SECREL
@ S_COFF_SECREL
Definition:
X86MCAsmInfo.h:72
llvm::X86::S_TLSGD
@ S_TLSGD
Definition:
X86MCAsmInfo.h:93
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition:
AddressRanges.h:18
llvm::X86_64MCAsmInfoDarwin
Definition:
X86MCAsmInfo.h:32
llvm::X86_64MCAsmInfoDarwin::getExprForPersonalitySymbol
const MCExpr * getExprForPersonalitySymbol(const MCSymbol *Sym, unsigned Encoding, MCStreamer &Streamer) const override
Definition:
X86MCAsmInfo.cpp:140
Generated on Wed Sep 3 2025 07:47:18 for LLVM by
1.9.6