LLVM
3.7.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
work
release_test
rc4
llvm.src
lib
Target
Mips
MipsTargetObjectFile.h
Go to the documentation of this file.
1
//===-- llvm/Target/MipsTargetObjectFile.h - Mips Object Info ---*- C++ -*-===//
2
//
3
// The LLVM Compiler Infrastructure
4
//
5
// This file is distributed under the University of Illinois Open Source
6
// License. See LICENSE.TXT for details.
7
//
8
//===----------------------------------------------------------------------===//
9
10
#ifndef LLVM_LIB_TARGET_MIPS_MIPSTARGETOBJECTFILE_H
11
#define LLVM_LIB_TARGET_MIPS_MIPSTARGETOBJECTFILE_H
12
13
#include "
llvm/CodeGen/TargetLoweringObjectFileImpl.h
"
14
15
namespace
llvm {
16
class
MipsTargetMachine;
17
class
MipsTargetObjectFile
:
public
TargetLoweringObjectFileELF
{
18
MCSection
*SmallDataSection;
19
MCSection
*SmallBSSSection;
20
const
MipsTargetMachine
*TM;
21
public
:
22
23
void
Initialize
(
MCContext
&Ctx,
const
TargetMachine
&TM)
override
;
24
25
/// Return true if this global address should be placed into small data/bss
26
/// section.
27
bool
IsGlobalInSmallSection
(
const
GlobalValue
*GV,
const
TargetMachine
&TM,
28
SectionKind
Kind
)
const
;
29
bool
IsGlobalInSmallSection
(
const
GlobalValue
*GV,
30
const
TargetMachine
&TM)
const
;
31
bool
IsGlobalInSmallSectionImpl
(
const
GlobalValue
*GV,
32
const
TargetMachine
&TM)
const
;
33
34
MCSection
*
SelectSectionForGlobal
(
const
GlobalValue
*GV,
SectionKind
Kind,
35
Mangler
&Mang,
36
const
TargetMachine
&TM)
const override
;
37
38
/// Return true if this constant should be placed into small data section.
39
bool
IsConstantInSmallSection
(
const
Constant
*CN,
40
const
TargetMachine
&TM)
const
;
41
42
MCSection
*
getSectionForConstant
(
SectionKind
Kind,
43
const
Constant
*
C
)
const override
;
44
};
45
}
// end namespace llvm
46
47
#endif
llvm::MCSection
Instances of this class represent a uniqued identifier for a section in the current translation unit...
Definition:
MCSection.h:48
llvm::MipsTargetObjectFile::getSectionForConstant
MCSection * getSectionForConstant(SectionKind Kind, const Constant *C) const override
Given a constant with the SectionKind, return a section that it should be placed in.
Definition:
MipsTargetObjectFile.cpp:141
llvm::MipsTargetObjectFile::SelectSectionForGlobal
MCSection * SelectSectionForGlobal(const GlobalValue *GV, SectionKind Kind, Mangler &Mang, const TargetMachine &TM) const override
Definition:
MipsTargetObjectFile.cpp:114
llvm::MCContext
Context object for machine code objects.
Definition:
MCContext.h:48
llvm::MipsTargetObjectFile::IsConstantInSmallSection
bool IsConstantInSmallSection(const Constant *CN, const TargetMachine &TM) const
Return true if this constant should be placed into small data section.
Definition:
MipsTargetObjectFile.cpp:132
llvm::MipsTargetObjectFile::Initialize
void Initialize(MCContext &Ctx, const TargetMachine &TM) override
This method must be called before any actual lowering is done.
Definition:
MipsTargetObjectFile.cpp:39
llvm::Constant
This is an important base class in LLVM.
Definition:
Constant.h:41
llvm::MipsTargetObjectFile::IsGlobalInSmallSectionImpl
bool IsGlobalInSmallSectionImpl(const GlobalValue *GV, const TargetMachine &TM) const
Return true if this global address should be placed into small data/bss section.
Definition:
MipsTargetObjectFile.cpp:86
llvm::SectionKind
SectionKind - This is a simple POD value that classifies the properties of a section.
Definition:
SectionKind.h:28
TargetLoweringObjectFileImpl.h
llvm::MipsTargetMachine
Definition:
MipsTargetMachine.h:29
llvm::GlobalValue
Definition:
GlobalValue.h:35
llvm::MipsTargetObjectFile
Definition:
MipsTargetObjectFile.h:17
llvm::MipsTargetObjectFile::IsGlobalInSmallSection
bool IsGlobalInSmallSection(const GlobalValue *GV, const TargetMachine &TM, SectionKind Kind) const
Return true if this global address should be placed into small data/bss section.
Definition:
MipsTargetObjectFile.cpp:76
llvm::TargetLoweringObjectFileELF
Definition:
TargetLoweringObjectFileImpl.h:35
Kind
const ARM::ArchExtKind Kind
Definition:
ARMAsmParser.cpp:9974
llvm::PDB_Lang::C
llvm::Mangler
Definition:
Mangler.h:27
llvm::TargetMachine
Primary interface to the complete machine description for the target machine.
Definition:
Target/TargetMachine.h:68
Generated on Mon Aug 31 2015 11:04:48 for LLVM by
1.8.6