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

Evan Cheng evan.cheng at apple.com
Wed Jun 28 17:26:23 PDT 2006



Changes in directory llvm/include/llvm/CodeGen:

AsmPrinter.h updated: 1.42 -> 1.43
---
Log message:

Add support to print 4-, 8-, and 16- byte constant literals in special
sections. e.g. On Darwin that would be .literal4 and .literal8.


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

 AsmPrinter.h |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletion(-)


Index: llvm/include/llvm/CodeGen/AsmPrinter.h
diff -u llvm/include/llvm/CodeGen/AsmPrinter.h:1.42 llvm/include/llvm/CodeGen/AsmPrinter.h:1.43
--- llvm/include/llvm/CodeGen/AsmPrinter.h:1.42	Tue Jun 27 19:52:32 2006
+++ llvm/include/llvm/CodeGen/AsmPrinter.h	Wed Jun 28 19:26:09 2006
@@ -24,6 +24,7 @@
   class ConstantArray;
   class Mangler;
   class GlobalVariable;
+  class MachineConstantPoolEntry;
 
   class AsmPrinter : public MachineFunctionPass {
     /// FunctionNumber - This provides a unique ID for each function emitted in
@@ -168,6 +169,13 @@
     /// a section to emit the static destructor list.
     /// Defaults to "\t.section .dtors,\"aw\", at progbits".
     const char *StaticDtorsSection;
+
+    /// FourByteConstantSection, EightByteConstantSection,
+    /// SixteenByteConstantSection - These are special sections where we place
+    /// 4-, 8-, and 16- byte constant literals.
+    const char *FourByteConstantSection;
+    const char *EightByteConstantSection;
+    const char *SixteenByteConstantSection;
     
     //===--- Global Variable Emission Directives --------------------------===//
     
@@ -265,7 +273,7 @@
     /// used to print out constants which have been "spilled to memory" by
     /// the code generator.
     ///
-    virtual void EmitConstantPool(MachineConstantPool *MCP);
+    void EmitConstantPool(MachineConstantPool *MCP);
 
     /// EmitJumpTableInfo - Print assembly representations of the jump tables 
     /// used by the current function to the current output stream.  
@@ -311,6 +319,8 @@
     
   private:
     void EmitXXStructorList(Constant *List);
+    void EmitConstantPool(unsigned Alignment, const char *Section,
+                std::vector<std::pair<MachineConstantPoolEntry,unsigned> > &CP);
 
   };
 }






More information about the llvm-commits mailing list