1 //===---- ELFTargetAsmInfo.h - ELF 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 defines target asm properties related what form asm statements
11 // should take in general on ELF-based targets
13 //===----------------------------------------------------------------------===//
15 #ifndef LLVM_ELF_TARGET_ASM_INFO_H
16 #define LLVM_ELF_TARGET_ASM_INFO_H
18 #include "llvm/Target/TargetAsmInfo.h"
19 #include "llvm/Target/TargetMachine.h"
26 struct ELFTargetAsmInfo: public TargetAsmInfo {
27 explicit ELFTargetAsmInfo(const TargetMachine &TM);
29 virtual const Section* SelectSectionForGlobal(const GlobalValue *GV) const;
30 virtual std::string printSectionFlags(unsigned flags) const;
31 const Section* MergeableConstSection(const GlobalVariable *GV) const;
32 inline const Section* MergeableConstSection(const Type *Ty) const;
33 const Section* MergeableStringSection(const GlobalVariable *GV) const;
34 virtual const Section*
35 SelectSectionForMachineConst(const Type *Ty) const;
37 const TargetMachine* ETM;
42 #endif // LLVM_ELF_TARGET_ASM_INFO_H