remove TargetAsmInfo::ExpandInlineAsm
[oota-llvm.git] / include / llvm / Target / ELFTargetAsmInfo.h
index 7afadf0dd7c3900c3c697abcc485d1a46f968c7e..6181e59a0553dced43b27e47ea267492d6c68cea 100644 (file)
 #define LLVM_ELF_TARGET_ASM_INFO_H
 
 #include "llvm/Target/TargetAsmInfo.h"
-#include "llvm/Target/TargetMachine.h"
 
 namespace llvm {
   class GlobalValue;
   class GlobalVariable;
+  class Type;
 
-  class ELFTargetAsmInfo: public TargetAsmInfo {
+  struct ELFTargetAsmInfo: public TargetAsmInfo {
     explicit ELFTargetAsmInfo(const TargetMachine &TM);
 
+    SectionKind::Kind SectionKindForGlobal(const GlobalValue *GV) const;
     virtual const Section* SelectSectionForGlobal(const GlobalValue *GV) const;
-    virtual std::string PrintSectionFlags(unsigned flags) const;
+    virtual std::string printSectionFlags(unsigned flags) const;
     const Section* MergeableConstSection(const GlobalVariable *GV) const;
+    inline const Section* MergeableConstSection(const Type *Ty) const;
     const Section* MergeableStringSection(const GlobalVariable *GV) const;
-  protected:
-    const TargetMachine* ETM;
+    virtual const Section*
+    SelectSectionForMachineConst(const Type *Ty) const;
+
+    const Section* DataRelSection;
+    const Section* DataRelLocalSection;
+    const Section* DataRelROSection;
+    const Section* DataRelROLocalSection;
   };
 }