LLVM
24.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
,
22
const
Module
&M)
override
;
23
24
MCSection
*
SelectSectionForGlobal
(
const
GlobalObject
*GO,
SectionKind
Kind,
25
const
TargetMachine
&
TM
)
const override
;
26
27
private
:
28
MCSection
*ProgmemDataSection;
29
MCSection
*Progmem1DataSection;
30
MCSection
*Progmem2DataSection;
31
MCSection
*Progmem3DataSection;
32
MCSection
*Progmem4DataSection;
33
MCSection
*Progmem5DataSection;
34
};
35
36
}
// end namespace llvm
37
38
#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, const Module &M) override
This method must be called before any actual lowering is done.
Definition
AVRTargetObjectFile.cpp:21
llvm::GlobalObject
Definition
GlobalObject.h:28
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:580
llvm::Module
A Module instance is used to store all the information related to an LLVM module.
Definition
Module.h:68
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:70
llvm::TargetMachine
Primary interface to the complete machine description for the target machine.
Definition
TargetMachine.h:84
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition
DefaultTargetInfo.h:21
Generated on
for LLVM by
1.14.0