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;