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

Chris Lattner lattner at cs.uiuc.edu
Mon Aug 16 15:35:38 PDT 2004



Changes in directory llvm/include/llvm/CodeGen:

MachineFunction.h updated: 1.38 -> 1.39
---
Log message:

Fit into 80 lines, add a gross hack for MachineFunctionInfo


---
Diffs of the changes:  (+14 -10)

Index: llvm/include/llvm/CodeGen/MachineFunction.h
diff -u llvm/include/llvm/CodeGen/MachineFunction.h:1.38 llvm/include/llvm/CodeGen/MachineFunction.h:1.39
--- llvm/include/llvm/CodeGen/MachineFunction.h:1.38	Wed Jul  7 19:47:58 2004
+++ llvm/include/llvm/CodeGen/MachineFunction.h	Mon Aug 16 17:35:26 2004
@@ -42,26 +42,30 @@
   static const MachineBasicBlock*
   getNext(const MachineBasicBlock* N) { return N->Next; }
   
-  static void setPrev(MachineBasicBlock* N, MachineBasicBlock* prev) { N->Prev = prev; }
-  static void setNext(MachineBasicBlock* N, MachineBasicBlock* next) { N->Next = next; }
-  
+  static void setPrev(MachineBasicBlock* N, MachineBasicBlock* prev) {
+    N->Prev = prev;
+  }
+  static void setNext(MachineBasicBlock* N, MachineBasicBlock* next) {
+    N->Next = next;
+  }
   static MachineBasicBlock* createNode();
   void addNodeToList(MachineBasicBlock* N);
   void removeNodeFromList(MachineBasicBlock* N);
-  void transferNodesFromList(
-			     iplist<MachineBasicBlock, ilist_traits<MachineBasicBlock> >& toList,
+  void transferNodesFromList(iplist<MachineBasicBlock,
+                                    ilist_traits<MachineBasicBlock> > &toList,
 			     ilist_iterator<MachineBasicBlock> first,
 			     ilist_iterator<MachineBasicBlock> last);
 };
-  
 
 
 class Function;
 class TargetMachine;
 class SSARegMap;
-class MachineFunctionInfo;
 class MachineFrameInfo;
 class MachineConstantPool;
+// MachineFunctionInfoBase - This is a gross SparcV9 hack
+struct MachineFunctionInfoBase { virtual ~MachineFunctionInfoBase() {}; };
+class MachineFunctionInfo;
 
 class MachineFunction : private Annotation {
   const Function *Fn;
@@ -73,8 +77,8 @@
   // Keeping track of mapping from SSA values to registers
   SSARegMap *SSARegMapping;
 
-  // Used to keep track of frame and constant area information for sparc be
-  MachineFunctionInfo *MFInfo;
+  // Used to keep track of frame and constant area information for SparcV9 BE.
+  mutable MachineFunctionInfoBase *MFInfo;
 
   // Keep track of objects allocated on the stack.
   MachineFrameInfo *FrameInfo;
@@ -118,7 +122,7 @@
   /// MachineFunctionInfo - Keep track of various per-function pieces of
   /// information for the sparc backend.
   ///
-  MachineFunctionInfo *getInfo() const { return MFInfo; }
+  MachineFunctionInfo *getInfo() const;
 
   /// getBlockNumbered - MachineBasicBlocks are automatically numbered when they
   /// are inserted into the machine function.  The block number for a machine






More information about the llvm-commits mailing list