LLVM
20.0.0git
Toggle main menu visibility
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
y
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Related Functions
:
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
y
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
k
l
m
o
p
r
s
t
u
v
w
z
Enumerations
_
a
b
c
d
e
f
g
h
i
j
l
m
o
p
q
r
s
t
u
w
x
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Examples
lib
Target
AVR
AVRTargetObjectFile.h
Go to the documentation of this file.
1
//===-- AVRTargetObjectFile.h - AVR Object 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
#ifndef LLVM_AVR_TARGET_OBJECT_FILE_H
10
#define LLVM_AVR_TARGET_OBJECT_FILE_H
11
12
#include "
llvm/CodeGen/TargetLoweringObjectFileImpl.h
"
13
14
namespace
llvm
{
15
16
/// Lowering for an AVR ELF32 object file.
17
class
AVRTargetObjectFile
:
public
TargetLoweringObjectFileELF
{
18
typedef
TargetLoweringObjectFileELF
Base
;
19
20
public
:
21
void
Initialize
(
MCContext
&ctx,
const
TargetMachine
&
TM
)
override
;
22
23
MCSection
*
SelectSectionForGlobal
(
const
GlobalObject
*GO,
SectionKind
Kind,
24
const
TargetMachine
&
TM
)
const override
;
25
26
private
:
27
MCSection
*ProgmemDataSection;
28
MCSection
*Progmem1DataSection;
29
MCSection
*Progmem2DataSection;
30
MCSection
*Progmem3DataSection;
31
MCSection
*Progmem4DataSection;
32
MCSection
*Progmem5DataSection;
33
};
34
35
}
// end namespace llvm
36
37
#endif
// LLVM_AVR_TARGET_OBJECT_FILE_H
TargetLoweringObjectFileImpl.h
llvm::AVRTargetObjectFile
Lowering for an AVR ELF32 object file.
Definition:
AVRTargetObjectFile.h:17
llvm::AVRTargetObjectFile::SelectSectionForGlobal
MCSection * SelectSectionForGlobal(const GlobalObject *GO, SectionKind Kind, const TargetMachine &TM) const override
Definition:
AVRTargetObjectFile.cpp:37
llvm::AVRTargetObjectFile::Initialize
void Initialize(MCContext &ctx, const TargetMachine &TM) override
This method must be called before any actual lowering is done.
Definition:
AVRTargetObjectFile.cpp:21
llvm::GlobalObject
Definition:
GlobalObject.h:27
llvm::MCContext
Context object for machine code objects.
Definition:
MCContext.h:83
llvm::MCSection
Instances of this class represent a uniqued identifier for a section in the current translation unit.
Definition:
MCSection.h:36
llvm::SectionKind
SectionKind - This is a simple POD value that classifies the properties of a section.
Definition:
SectionKind.h:22
llvm::TargetLoweringObjectFileELF
Definition:
TargetLoweringObjectFileImpl.h:34
llvm::TargetLoweringObjectFile::TM
const TargetMachine * TM
Definition:
TargetLoweringObjectFile.h:68
llvm::TargetMachine
Primary interface to the complete machine description for the target machine.
Definition:
TargetMachine.h:77
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition:
AddressRanges.h:18
Generated on Sat Mar 8 2025 04:16:43 for LLVM by
1.9.6