[llvm-commits] CVS: llvm/include/llvm/CodeGen/AsmPrinter.h

Nate Begeman natebegeman at mac.com
Sat Aug 12 14:30:12 PDT 2006



Changes in directory llvm/include/llvm/CodeGen:

AsmPrinter.h updated: 1.44 -> 1.45
---
Log message:

Emit .set directives for jump table entries when possible, which reduces
the number of relocations in object files, shrinkifying them.


---
Diffs of the changes:  (+9 -1)

 AsmPrinter.h |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletion(-)


Index: llvm/include/llvm/CodeGen/AsmPrinter.h
diff -u llvm/include/llvm/CodeGen/AsmPrinter.h:1.44 llvm/include/llvm/CodeGen/AsmPrinter.h:1.45
--- llvm/include/llvm/CodeGen/AsmPrinter.h:1.44	Wed Jul 26 20:13:04 2006
+++ llvm/include/llvm/CodeGen/AsmPrinter.h	Sat Aug 12 16:29:52 2006
@@ -185,6 +185,10 @@
     
     //===--- Global Variable Emission Directives --------------------------===//
     
+    /// SetDirective - This is the name of a directive that can be used to tell
+    /// the assembler to set the value of a variable to some expression.
+    const char *SetDirective;            // Defaults to null.
+    
     /// LCOMMDirective - This is the name of a directive (if supported) that can
     /// be used to efficiently declare a local (internal) block of zero
     /// initialized data in the .bss/.data section.  The syntax expected is:
@@ -193,7 +197,7 @@
     const char *LCOMMDirective;          // Defaults to null.
     
     const char *COMMDirective;           // Defaults to "\t.comm\t".
-    
+
     /// COMMDirectiveTakesAlignment - True if COMMDirective take a third
     /// argument that specifies the alignment of the declaration.
     bool COMMDirectiveTakesAlignment;    // Defaults to true.
@@ -322,6 +326,10 @@
     virtual void printBasicBlockLabel(const MachineBasicBlock *MBB,
                                       bool printColon = false,
                                       bool printComment = true) const;
+                                      
+    /// printSetLabel - This method prints a set label for the specified
+    /// MachineBasicBlock
+    void printSetLabel(unsigned uid, const MachineBasicBlock *MBB) const;
     
   private:
     void EmitXXStructorList(Constant *List);






More information about the llvm-commits mailing list