Proper handle loading of effective address of stack slot stuff
[llvm/msp430.git] / lib / Target / XCore / XCoreTargetAsmInfo.h
blob79fd36aa23ce5c9c15fb3df87ca35e122acd5c1e
1 //=====-- XCoreTargetAsmInfo.h - XCore 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 // This file contains the declaration of the XCoreTargetAsmInfo class.
12 //===----------------------------------------------------------------------===//
14 #ifndef XCORETARGETASMINFO_H
15 #define XCORETARGETASMINFO_H
17 #include "llvm/Target/ELFTargetAsmInfo.h"
19 namespace llvm {
21 // Forward declarations.
22 class XCoreTargetMachine;
23 class XCoreSubtarget;
25 class XCoreTargetAsmInfo : public ELFTargetAsmInfo {
26 private:
27 const XCoreSubtarget *Subtarget;
28 public:
29 explicit XCoreTargetAsmInfo(const XCoreTargetMachine &TM);
31 virtual const Section* SelectSectionForGlobal(const GlobalValue *GV) const;
32 virtual std::string printSectionFlags(unsigned flags) const;
33 const Section* MergeableConstSection(const GlobalVariable *GV) const;
34 inline const Section* MergeableConstSection(const Type *Ty) const;
35 const Section* MergeableStringSection(const GlobalVariable *GV) const;
36 virtual const Section*
37 SelectSectionForMachineConst(const Type *Ty) const;
38 virtual unsigned
39 SectionFlagsForGlobal(const GlobalValue *GV = NULL,
40 const char* name = NULL) const;
43 } // namespace llvm
45 #endif