LLVM
3.7.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
work
release_test
rc4
llvm.src
lib
Target
Hexagon
HexagonTargetObjectFile.h
Go to the documentation of this file.
1
//===-- HexagonTargetAsmInfo.h - Hexagon asm properties --------*- 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_HEXAGON_HEXAGONTARGETOBJECTFILE_H
11
#define LLVM_LIB_TARGET_HEXAGON_HEXAGONTARGETOBJECTFILE_H
12
13
#include "
llvm/CodeGen/TargetLoweringObjectFileImpl.h
"
14
#include "
llvm/MC/MCSectionELF.h
"
15
16
namespace
llvm {
17
18
class
HexagonTargetObjectFile
:
public
TargetLoweringObjectFileELF
{
19
MCSectionELF
*SmallDataSection;
20
MCSectionELF
*SmallBSSSection;
21
22
public
:
23
void
Initialize
(
MCContext
&Ctx,
const
TargetMachine
&
TM
)
override
;
24
25
/// IsGlobalInSmallSection - Return true if this global address should be
26
/// placed into small data/bss section.
27
bool
IsGlobalInSmallSection
(
const
GlobalValue
*GV,
28
const
TargetMachine
&TM,
29
SectionKind
Kind
)
const
;
30
bool
IsGlobalInSmallSection
(
const
GlobalValue
*GV,
31
const
TargetMachine
&TM)
const
;
32
33
bool
IsSmallDataEnabled
()
const
;
34
MCSection
*
SelectSectionForGlobal
(
const
GlobalValue
*GV,
SectionKind
Kind,
35
Mangler
&Mang,
36
const
TargetMachine
&TM)
const override
;
37
};
38
39
}
// namespace llvm
40
41
#endif
llvm::HexagonTargetObjectFile::IsGlobalInSmallSection
bool IsGlobalInSmallSection(const GlobalValue *GV, const TargetMachine &TM, SectionKind Kind) const
IsGlobalInSmallSection - Return true if this global address should be placed into small data/bss sect...
Definition:
HexagonTargetObjectFile.cpp:69
llvm::MCSection
Instances of this class represent a uniqued identifier for a section in the current translation unit...
Definition:
MCSection.h:48
MCSectionELF.h
llvm::MCContext
Context object for machine code objects.
Definition:
MCContext.h:48
llvm::SystemZISD::TM
Definition:
SystemZISelLowering.h:68
llvm::HexagonTargetObjectFile::SelectSectionForGlobal
MCSection * SelectSectionForGlobal(const GlobalValue *GV, SectionKind Kind, Mangler &Mang, const TargetMachine &TM) const override
Definition:
HexagonTargetObjectFile.cpp:85
llvm::HexagonTargetObjectFile
Definition:
HexagonTargetObjectFile.h:18
llvm::SectionKind
SectionKind - This is a simple POD value that classifies the properties of a section.
Definition:
SectionKind.h:28
llvm::HexagonTargetObjectFile::IsSmallDataEnabled
bool IsSmallDataEnabled() const
Definition:
HexagonTargetObjectFile.cpp:47
TargetLoweringObjectFileImpl.h
llvm::GlobalValue
Definition:
GlobalValue.h:35
llvm::HexagonTargetObjectFile::Initialize
void Initialize(MCContext &Ctx, const TargetMachine &TM) override
This method must be called before any actual lowering is done.
Definition:
HexagonTargetObjectFile.cpp:31
llvm::MCSectionELF
MCSectionELF - This represents a section on linux, lots of unix variants and some bare metal systems...
Definition:
MCSectionELF.h:30
llvm::TargetLoweringObjectFileELF
Definition:
TargetLoweringObjectFileImpl.h:35
Kind
const ARM::ArchExtKind Kind
Definition:
ARMAsmParser.cpp:9974
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:01:12 for LLVM by
1.8.6