1 //=====-- XCoreTargetAsmInfo.h - XCore asm properties ---------*- C++ -*--====//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
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"
21 // Forward declarations.
22 class XCoreTargetMachine;
25 class XCoreTargetAsmInfo : public ELFTargetAsmInfo {
27 const XCoreSubtarget *Subtarget;
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;
39 SectionFlagsForGlobal(const GlobalValue *GV = NULL,
40 const char* name = NULL) const;