LLVM
20.0.0git
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:38
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:22
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 Sun Nov 24 2024 09:57:59 for LLVM by
1.9.6