Home | History | Annotate | Download | only in AVR
      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 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 GlobalValue *GV, SectionKind Kind,
     25                                     Mangler &Mang,
     26                                     const TargetMachine &TM) const override;
     27 
     28 private:
     29   MCSection *ProgmemDataSection;
     30 };
     31 
     32 } // end namespace llvm
     33 
     34 #endif // LLVM_AVR_TARGET_OBJECT_FILE_H
     35