Line data Source code
1 : //===-- AVRTargetObjectFile.h - AVR 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_AVR_TARGET_OBJECT_FILE_H
11 : #define LLVM_AVR_TARGET_OBJECT_FILE_H
12 :
13 : #include "llvm/CodeGen/TargetLoweringObjectFileImpl.h"
14 :
15 : namespace llvm {
16 :
17 : /// Lowering for an AVR ELF32 object file.
18 119 : class AVRTargetObjectFile : public TargetLoweringObjectFileELF {
19 : typedef TargetLoweringObjectFileELF Base;
20 :
21 : public:
22 : void Initialize(MCContext &ctx, const TargetMachine &TM) override;
23 :
24 : MCSection *SelectSectionForGlobal(const GlobalObject *GO, SectionKind Kind,
25 : const TargetMachine &TM) const override;
26 :
27 : private:
28 : MCSection *ProgmemDataSection;
29 : };
30 :
31 : } // end namespace llvm
32 :
33 : #endif // LLVM_AVR_TARGET_OBJECT_FILE_H
|