| Dylan McKay | 5c96de3 | 2016-01-07 10:53:15 +0000 | [diff] [blame^] | 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 | */ | 
|  | 19 | class AVRTargetObjectFile : public TargetLoweringObjectFileELF { | 
|  | 20 | typedef TargetLoweringObjectFileELF Base; | 
|  | 21 |  | 
|  | 22 | public: | 
|  | 23 | void Initialize(MCContext &ctx, const TargetMachine &TM) override; | 
|  | 24 |  | 
|  | 25 | MCSection *SelectSectionForGlobal(const GlobalValue *GV, SectionKind Kind, | 
|  | 26 | Mangler &Mang, | 
|  | 27 | const TargetMachine &TM) const override; | 
|  | 28 |  | 
|  | 29 | private: | 
|  | 30 | MCSection *ProgmemDataSection; | 
|  | 31 | }; | 
|  | 32 |  | 
|  | 33 | } // end namespace llvm | 
|  | 34 |  | 
|  | 35 | #endif // LLVM_AVR_TARGET_OBJECT_FILE_H |