Use a better name for the label relocations while emitting them for Jump Tables
[oota-llvm.git] / include / llvm / Target / TargetAsmInfo.h
index d71f4dd94eaad17db560a7dc5a69e0dc59702b09..50e08bda445c9118bcfe829fdb15337846c27157 100644 (file)
@@ -130,7 +130,6 @@ namespace llvm {
   private:
     mutable StringMap<Section> Sections;
     mutable SectionFlags::FlagsStringsMapType FlagsStrings;
-    void fillDefaultValues();
   protected:
     /// TM - The current TargetMachine.
     const TargetMachine &TM;
@@ -215,6 +214,10 @@ namespace llvm {
     /// measure inline asm instructions.
     char SeparatorChar;                   // Defaults to ';'
 
+    /// CommentColumn - This indicates the comment num (zero-based) at
+    /// which asm comments should be printed.
+    unsigned CommentColumn;               // Defaults to 60
+
     /// CommentString - This indicates the comment character used by the
     /// assembler.
     const char *CommentString;            // Defaults to "#"
@@ -272,12 +275,10 @@ namespace llvm {
     /// AssemblerDialect - Which dialect of an assembler variant to use.
     unsigned AssemblerDialect;            // Defaults to 0
 
-    /// StringConstantPrefix - Prefix for FEs to use when generating unnamed
-    /// constant strings.  These names get run through the Mangler later; if
-    /// you want the Mangler not to add the GlobalPrefix as well, 
-    /// use '\1' as the first character.
-    const char *StringConstantPrefix;     // Defaults to ".str"
-
+    /// AllowQuotesInName - This is true if the assembler allows for complex
+    /// symbol names to be surrounded in quotes.  This defaults to false.
+    bool AllowQuotesInName;
+    
     //===--- Data Emission Directives -------------------------------------===//
 
     /// ZeroDirective - this should be set to the directive used to get some
@@ -308,8 +309,7 @@ namespace llvm {
     /// directives for various sizes and non-default address spaces.
     virtual const char *getASDirective(unsigned size, 
                                        unsigned AS) const {
-      assert (AS > 0 
-              && "Dont know the directives for default addr space");
+      assert(AS > 0 && "Dont know the directives for default addr space");
       return NULL;
     }
 
@@ -472,9 +472,9 @@ namespace llvm {
     /// encode inline subroutine information.
     bool DwarfUsesInlineInfoSection; // Defaults to false.
 
-    /// NonLocalEHFrameLabel - If set, the EH_frame label needs to be non-local.
-    ///
-    bool NonLocalEHFrameLabel;              // Defaults to false.
+    /// Is_EHSymbolPrivate - If set, the "_foo.eh" is made private so that it
+    /// doesn't show up in the symbol table of the object file.
+    bool Is_EHSymbolPrivate;                // Defaults to true.
 
     /// GlobalEHDirective - This is the directive used to make exception frame
     /// tables globally visible.
@@ -691,6 +691,9 @@ namespace llvm {
     char getSeparatorChar() const {
       return SeparatorChar;
     }
+    unsigned getCommentColumn() const {
+      return CommentColumn;
+    }
     const char *getCommentString() const {
       return CommentString;
     }
@@ -700,12 +703,6 @@ namespace llvm {
     const char *getPrivateGlobalPrefix() const {
       return PrivateGlobalPrefix;
     }
-    /// EHGlobalPrefix - Prefix for EH_frame and the .eh symbols.
-    /// This is normally PrivateGlobalPrefix, but some targets want
-    /// these symbols to be visible.
-    virtual const char *getEHGlobalPrefix() const {
-      return PrivateGlobalPrefix;
-    }
     const char *getLessPrivateGlobalPrefix() const {
       return LessPrivateGlobalPrefix;
     }
@@ -742,8 +739,8 @@ namespace llvm {
     unsigned getAssemblerDialect() const {
       return AssemblerDialect;
     }
-    const char *getStringConstantPrefix() const {
-      return StringConstantPrefix;
+    bool doesAllowQuotesInName() const {
+      return AllowQuotesInName;
     }
     const char *getZeroDirective() const {
       return ZeroDirective;
@@ -862,8 +859,8 @@ namespace llvm {
     bool doesDwarfUsesInlineInfoSection() const {
       return DwarfUsesInlineInfoSection;
     }
-    bool doesRequireNonLocalEHFrameLabel() const {
-      return NonLocalEHFrameLabel;
+    bool is_EHSymbolPrivate() const {
+      return Is_EHSymbolPrivate;
     }
     const char *getGlobalEHDirective() const {
       return GlobalEHDirective;