LLVM
22.0.0git
lib
Target
Mips
MCTargetDesc
MipsMCAsmInfo.h
Go to the documentation of this file.
1
//===-- MipsMCAsmInfo.h - Mips Asm Info ------------------------*- 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 MipsMCAsmInfo class.
10
//
11
//===----------------------------------------------------------------------===//
12
13
#ifndef LLVM_LIB_TARGET_MIPS_MCTARGETDESC_MIPSMCASMINFO_H
14
#define LLVM_LIB_TARGET_MIPS_MCTARGETDESC_MIPSMCASMINFO_H
15
16
#include "
llvm/MC/MCAsmInfoCOFF.h
"
17
#include "
llvm/MC/MCAsmInfoELF.h
"
18
#include "
llvm/MC/MCFixup.h
"
19
20
namespace
llvm
{
21
class
Triple;
22
23
class
MipsELFMCAsmInfo
:
public
MCAsmInfoELF
{
24
void
anchor()
override
;
25
26
public
:
27
explicit
MipsELFMCAsmInfo
(
const
Triple
&TheTriple,
28
const
MCTargetOptions
&
Options
);
29
void
printSpecifierExpr
(
raw_ostream
&
OS
,
30
const
MCSpecifierExpr
&Expr)
const override
;
31
bool
evaluateAsRelocatableImpl
(
const
MCSpecifierExpr
&Expr,
MCValue
&Res,
32
const
MCAssembler
*Asm)
const override
;
33
};
34
35
class
MipsCOFFMCAsmInfo
:
public
MCAsmInfoGNUCOFF
{
36
void
anchor()
override
;
37
38
public
:
39
explicit
MipsCOFFMCAsmInfo
();
40
void
printSpecifierExpr
(
raw_ostream
&
OS
,
41
const
MCSpecifierExpr
&Expr)
const override
;
42
bool
evaluateAsRelocatableImpl
(
const
MCSpecifierExpr
&Expr,
MCValue
&Res,
43
const
MCAssembler
*Asm)
const override
;
44
};
45
46
namespace
Mips {
47
using
Specifier
=
uint16_t
;
48
enum
{
49
S_None
,
50
S_CALL_HI16
=
FirstTargetFixupKind
,
51
S_CALL_LO16
,
52
S_DTPREL
,
53
S_DTPREL_HI
,
54
S_DTPREL_LO
,
55
S_GOT
,
56
S_GOTTPREL
,
57
S_GOT_CALL
,
58
S_GOT_DISP
,
59
S_GOT_HI16
,
60
S_GOT_LO16
,
61
S_GOT_OFST
,
62
S_GOT_PAGE
,
63
S_GPREL
,
64
S_HI
,
65
S_HIGHER
,
66
S_HIGHEST
,
67
S_LO
,
68
S_NEG
,
69
S_PCREL_HI16
,
70
S_PCREL_LO16
,
71
S_TLSGD
,
72
S_TLSLDM
,
73
S_TPREL_HI
,
74
S_TPREL_LO
,
75
S_Special
,
76
};
77
78
bool
isGpOff
(
const
MCSpecifierExpr
&
E
);
79
const
MCSpecifierExpr
*
createGpOff
(
const
MCExpr
*Expr,
Specifier
S,
80
MCContext
&Ctx);
81
}
82
83
}
// namespace llvm
84
85
#endif
E
static GCRegistry::Add< CoreCLRGC > E("coreclr", "CoreCLR-compatible GC")
Options
static LVOptions Options
Definition:
LVOptions.cpp:25
MCAsmInfoCOFF.h
MCAsmInfoELF.h
MCFixup.h
OS
raw_pwrite_stream & OS
Definition:
SampleProfWriter.cpp:51
llvm::MCAsmInfoELF
Definition:
MCAsmInfoELF.h:16
llvm::MCAsmInfoGNUCOFF
Definition:
MCAsmInfoCOFF.h:33
llvm::MCAssembler
Definition:
MCAssembler.h:49
llvm::MCContext
Context object for machine code objects.
Definition:
MCContext.h:83
llvm::MCExpr
Base class for the full range of assembler expressions which are needed for parsing.
Definition:
MCExpr.h:34
llvm::MCSpecifierExpr
Extension point for target-specific MCExpr subclasses with a relocation specifier,...
Definition:
MCExpr.h:495
llvm::MCTargetOptions
Definition:
MCTargetOptions.h:29
llvm::MCValue
Definition:
MCValue.h:30
llvm::MipsCOFFMCAsmInfo
Definition:
MipsMCAsmInfo.h:35
llvm::MipsCOFFMCAsmInfo::evaluateAsRelocatableImpl
bool evaluateAsRelocatableImpl(const MCSpecifierExpr &Expr, MCValue &Res, const MCAssembler *Asm) const override
Definition:
MipsMCAsmInfo.cpp:220
llvm::MipsCOFFMCAsmInfo::MipsCOFFMCAsmInfo
MipsCOFFMCAsmInfo()
Definition:
MipsMCAsmInfo.cpp:53
llvm::MipsCOFFMCAsmInfo::printSpecifierExpr
void printSpecifierExpr(raw_ostream &OS, const MCSpecifierExpr &Expr) const override
Definition:
MipsMCAsmInfo.cpp:215
llvm::MipsELFMCAsmInfo
Definition:
MipsMCAsmInfo.h:23
llvm::MipsELFMCAsmInfo::printSpecifierExpr
void printSpecifierExpr(raw_ostream &OS, const MCSpecifierExpr &Expr) const override
Definition:
MipsMCAsmInfo.cpp:204
llvm::MipsELFMCAsmInfo::evaluateAsRelocatableImpl
bool evaluateAsRelocatableImpl(const MCSpecifierExpr &Expr, MCValue &Res, const MCAssembler *Asm) const override
Definition:
MipsMCAsmInfo.cpp:209
llvm::Triple
Triple - Helper class for working with autoconf configuration names.
Definition:
Triple.h:47
llvm::raw_ostream
This class implements an extremely fast bulk output stream that can only output to a stream.
Definition:
raw_ostream.h:53
uint16_t
llvm::Mips::S_GOT_OFST
@ S_GOT_OFST
Definition:
MipsMCAsmInfo.h:61
llvm::Mips::S_HIGHEST
@ S_HIGHEST
Definition:
MipsMCAsmInfo.h:66
llvm::Mips::S_LO
@ S_LO
Definition:
MipsMCAsmInfo.h:67
llvm::Mips::S_HI
@ S_HI
Definition:
MipsMCAsmInfo.h:64
llvm::Mips::S_DTPREL
@ S_DTPREL
Definition:
MipsMCAsmInfo.h:52
llvm::Mips::S_DTPREL_HI
@ S_DTPREL_HI
Definition:
MipsMCAsmInfo.h:53
llvm::Mips::S_GOT_LO16
@ S_GOT_LO16
Definition:
MipsMCAsmInfo.h:60
llvm::Mips::S_GOT_PAGE
@ S_GOT_PAGE
Definition:
MipsMCAsmInfo.h:62
llvm::Mips::S_PCREL_HI16
@ S_PCREL_HI16
Definition:
MipsMCAsmInfo.h:69
llvm::Mips::S_Special
@ S_Special
Definition:
MipsMCAsmInfo.h:75
llvm::Mips::S_DTPREL_LO
@ S_DTPREL_LO
Definition:
MipsMCAsmInfo.h:54
llvm::Mips::S_HIGHER
@ S_HIGHER
Definition:
MipsMCAsmInfo.h:65
llvm::Mips::S_None
@ S_None
Definition:
MipsMCAsmInfo.h:49
llvm::Mips::S_GOT_HI16
@ S_GOT_HI16
Definition:
MipsMCAsmInfo.h:59
llvm::Mips::S_TPREL_LO
@ S_TPREL_LO
Definition:
MipsMCAsmInfo.h:74
llvm::Mips::S_CALL_HI16
@ S_CALL_HI16
Definition:
MipsMCAsmInfo.h:50
llvm::Mips::S_TPREL_HI
@ S_TPREL_HI
Definition:
MipsMCAsmInfo.h:73
llvm::Mips::S_GOT_DISP
@ S_GOT_DISP
Definition:
MipsMCAsmInfo.h:58
llvm::Mips::S_GOT_CALL
@ S_GOT_CALL
Definition:
MipsMCAsmInfo.h:57
llvm::Mips::S_TLSGD
@ S_TLSGD
Definition:
MipsMCAsmInfo.h:71
llvm::Mips::S_PCREL_LO16
@ S_PCREL_LO16
Definition:
MipsMCAsmInfo.h:70
llvm::Mips::S_CALL_LO16
@ S_CALL_LO16
Definition:
MipsMCAsmInfo.h:51
llvm::Mips::S_TLSLDM
@ S_TLSLDM
Definition:
MipsMCAsmInfo.h:72
llvm::Mips::S_NEG
@ S_NEG
Definition:
MipsMCAsmInfo.h:68
llvm::Mips::S_GOTTPREL
@ S_GOTTPREL
Definition:
MipsMCAsmInfo.h:56
llvm::Mips::S_GPREL
@ S_GPREL
Definition:
MipsMCAsmInfo.h:63
llvm::Mips::S_GOT
@ S_GOT
Definition:
MipsMCAsmInfo.h:55
llvm::Mips::isGpOff
bool isGpOff(const MCSpecifierExpr &E)
Definition:
MipsMCAsmInfo.cpp:167
llvm::Mips::Specifier
uint16_t Specifier
Definition:
MipsMCAsmInfo.h:47
llvm::Mips::createGpOff
const MCSpecifierExpr * createGpOff(const MCExpr *Expr, Specifier S, MCContext &Ctx)
Definition:
MipsMCAsmInfo.cpp:64
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition:
AddressRanges.h:18
llvm::FirstTargetFixupKind
@ FirstTargetFixupKind
Definition:
MCFixup.h:44
Generated on Sat Aug 30 2025 10:36:04 for LLVM by
1.9.6