introduce a new RoundUpAlignment helper function, use it to
[oota-llvm.git] / include / llvm / Target / DarwinTargetAsmInfo.h
index 0ed9b387037c3407ad9d83af160964362843d285..5813ce35057076bc1525f882cc9505e4f296982e 100644 (file)
@@ -22,23 +22,28 @@ namespace llvm {
   class GlobalValue;
   class GlobalVariable;
   class Type;
+  class Mangler;
 
-  struct DarwinTargetAsmInfo: public virtual TargetAsmInfo {
+  struct DarwinTargetAsmInfo: public TargetAsmInfo {
     const Section* TextCoalSection;
+    const Section* ConstTextCoalSection;
     const Section* ConstDataCoalSection;
     const Section* ConstDataSection;
     const Section* DataCoalSection;
+    const Section* FourByteConstantSection;
+    const Section* EightByteConstantSection;
+    const Section* SixteenByteConstantSection;
 
     explicit DarwinTargetAsmInfo(const TargetMachine &TM);
     virtual const Section* SelectSectionForGlobal(const GlobalValue *GV) const;
     virtual std::string UniqueSectionForGlobal(const GlobalValue* GV,
                                                SectionKind::Kind kind) const;
+    virtual bool emitUsedDirectiveFor(const GlobalValue *GV,
+                                      Mangler *Mang) const;
     const Section* MergeableConstSection(const GlobalVariable *GV) const;
     const Section* MergeableConstSection(const Type *Ty) const;
     const Section* MergeableStringSection(const GlobalVariable *GV) const;
     const Section* SelectSectionForMachineConst(const Type *Ty) const;
-  protected:
-    const TargetMachine* DTM;
   };
 }