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

Chris Lattner lattner at cs.uiuc.edu
Sun Jan 12 18:20:03 PST 2003


Changes in directory llvm/include/llvm/CodeGen:

MachineCodeEmitter.h updated: 1.5 -> 1.6

---
Log message:

* Add support for values in the constant pool
* Add support for functions referenced by name


---
Diffs of the changes:

Index: llvm/include/llvm/CodeGen/MachineCodeEmitter.h
diff -u llvm/include/llvm/CodeGen/MachineCodeEmitter.h:1.5 llvm/include/llvm/CodeGen/MachineCodeEmitter.h:1.6
--- llvm/include/llvm/CodeGen/MachineCodeEmitter.h:1.5	Wed Dec  4 00:44:27 2002
+++ llvm/include/llvm/CodeGen/MachineCodeEmitter.h	Sun Jan 12 18:14:55 2003
@@ -10,8 +10,10 @@
 #ifndef LLVM_CODEGEN_MACHINE_CODE_EMITTER_H
 #define LLVM_CODEGEN_MACHINE_CODE_EMITTER_H
 
+#include <string>
 class MachineFunction;
 class MachineBasicBlock;
+class MachineConstantPool;
 class Value;
 class GlobalValue;
 
@@ -28,6 +30,10 @@
   ///
   virtual void finishFunction(MachineFunction &F) {}
 
+  /// emitConstantPool - This callback is invoked to output the constant pool
+  /// for the function.
+  virtual void emitConstantPool(MachineConstantPool *MCP) {}
+
   /// startBasicBlock - This callback is invoked when a new basic block is about
   /// to be emitted.
   ///
@@ -48,8 +54,17 @@
   /// address of a global value to machine code.  This is important for indirect
   /// calls as well as accessing global variables.
   ///
-  virtual void emitGlobalAddress(GlobalValue *V) {}
+  virtual void emitGlobalAddress(GlobalValue *V, bool isPCRelative) {}
+  virtual void emitGlobalAddress(const std::string &Name, bool isPCRelative) {}
 
+  /// emitFunctionConstantValueAddress - This callback is invoked when the
+  /// address of a constant, which was spilled to memory, needs to be addressed.
+  /// This is used for constants which cannot be directly specified as operands
+  /// to instructions, such as large integer values on the sparc, or floating
+  /// point constants on the X86.
+  ///
+  virtual void emitFunctionConstantValueAddress(unsigned ConstantNum,
+						int Offset) {}
 
   /// createDebugMachineCodeEmitter - Return a dynamically allocated machine
   /// code emitter, which just prints the opcodes and fields out the cout.  This





More information about the llvm-commits mailing list