It's not legal to output a GV in a coalesced section if it's used in an ARM PIC relat...
[oota-llvm.git] / include / llvm / Target / TargetAsmInfo.h
index 04e91cb38120948bd805bddc0246e0c5b22d7402..2fd1492c99237c7a5ee21a73ddf29396d0457381 100644 (file)
@@ -544,8 +544,10 @@ namespace llvm {
                           const char* name = NULL) const;
 
     /// SectionForGlobal - This hooks returns proper section name for given
-    /// global with all necessary flags and marks.
-    virtual std::string SectionForGlobal(const GlobalValue *GV) const;
+    /// global with all necessary flags and marks. If NoCoalesce is true,
+    /// do not use coalesced section.
+    virtual std::string SectionForGlobal(const GlobalValue *GV,
+                                         bool NoCoalesce = false) const;
 
     // Helper methods for SectionForGlobal
     virtual std::string UniqueSectionForGlobal(const GlobalValue* GV,
@@ -553,7 +555,8 @@ namespace llvm {
 
     virtual std::string PrintSectionFlags(unsigned flags) const { return ""; }
 
-    virtual const Section* SelectSectionForGlobal(const GlobalValue *GV) const;
+    virtual const Section* SelectSectionForGlobal(const GlobalValue *GV,
+                                                 bool NoCoalesce = false) const;
 
     virtual const Section* SelectSectionForMachineConst(const Type *Ty) const;