LLVM API Documentation
00001 //===---- ELFTargetAsmInfo.h - ELF asm properties ---------------*- C++ -*-===// 00002 // 00003 // The LLVM Compiler Infrastructure 00004 // 00005 // This file is distributed under the University of Illinois Open Source 00006 // License. See LICENSE.TXT for details. 00007 // 00008 //===----------------------------------------------------------------------===// 00009 // 00010 // This file defines target asm properties related what form asm statements 00011 // should take in general on ELF-based targets 00012 // 00013 //===----------------------------------------------------------------------===// 00014 00015 #ifndef LLVM_ELF_TARGET_ASM_INFO_H 00016 #define LLVM_ELF_TARGET_ASM_INFO_H 00017 00018 #include "llvm/Target/TargetAsmInfo.h" 00019 00020 namespace llvm { 00021 class GlobalValue; 00022 class GlobalVariable; 00023 class Type; 00024 00025 struct ELFTargetAsmInfo: public TargetAsmInfo { 00026 explicit ELFTargetAsmInfo(const TargetMachine &TM); 00027 00028 virtual const Section* SelectSectionForGlobal(const GlobalValue *GV) const; 00029 virtual std::string printSectionFlags(unsigned flags) const; 00030 const Section* MergeableConstSection(const GlobalVariable *GV) const; 00031 inline const Section* MergeableConstSection(const Type *Ty) const; 00032 const Section* MergeableStringSection(const GlobalVariable *GV) const; 00033 virtual const Section* 00034 SelectSectionForMachineConst(const Type *Ty) const; 00035 }; 00036 } 00037 00038 00039 #endif // LLVM_ELF_TARGET_ASM_INFO_H