~pali/+junk/llvm-toolchain-3.7

« back to all changes in this revision

Viewing changes to lib/Target/Hexagon/HexagonTargetObjectFile.h

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2015-07-15 17:51:08 UTC
  • Revision ID: package-import@ubuntu.com-20150715175108-l8mynwovkx4zx697
Tags: upstream-3.7~+rc2
ImportĀ upstreamĀ versionĀ 3.7~+rc2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
//===-- HexagonTargetAsmInfo.h - Hexagon asm properties --------*- 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_LIB_TARGET_HEXAGON_HEXAGONTARGETOBJECTFILE_H
 
11
#define LLVM_LIB_TARGET_HEXAGON_HEXAGONTARGETOBJECTFILE_H
 
12
 
 
13
#include "llvm/CodeGen/TargetLoweringObjectFileImpl.h"
 
14
#include "llvm/MC/MCSectionELF.h"
 
15
 
 
16
namespace llvm {
 
17
 
 
18
  class HexagonTargetObjectFile : public TargetLoweringObjectFileELF {
 
19
    MCSectionELF *SmallDataSection;
 
20
    MCSectionELF *SmallBSSSection;
 
21
 
 
22
  public:
 
23
    void Initialize(MCContext &Ctx, const TargetMachine &TM) override;
 
24
 
 
25
    /// IsGlobalInSmallSection - Return true if this global address should be
 
26
    /// placed into small data/bss section.
 
27
    bool IsGlobalInSmallSection(const GlobalValue *GV,
 
28
                                const TargetMachine &TM,
 
29
                                SectionKind Kind) const;
 
30
    bool IsGlobalInSmallSection(const GlobalValue *GV,
 
31
                                const TargetMachine &TM) const;
 
32
 
 
33
    bool IsSmallDataEnabled () const;
 
34
    MCSection *SelectSectionForGlobal(const GlobalValue *GV, SectionKind Kind,
 
35
                                      Mangler &Mang,
 
36
                                      const TargetMachine &TM) const override;
 
37
  };
 
38
 
 
39
} // namespace llvm
 
40
 
 
41
#endif