[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