llvm.org GIT mirror llvm / 2fcd451
Fit into 80 lines, add a gross hack for MachineFunctionInfo git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15832 91177308-0d34-0410-b5e6-96231b3b80d8 Chris Lattner 16 years ago
1 changed file(s) with 14 addition(s) and 10 deletion(s). Raw diff Collapse all Expand all
4141 static const MachineBasicBlock*
4242 getNext(const MachineBasicBlock* N) { return N->Next; }
4343
44 static void setPrev(MachineBasicBlock* N, MachineBasicBlock* prev) { N->Prev = prev; }
45 static void setNext(MachineBasicBlock* N, MachineBasicBlock* next) { N->Next = next; }
46
44 static void setPrev(MachineBasicBlock* N, MachineBasicBlock* prev) {
45 N->Prev = prev;
46 }
47 static void setNext(MachineBasicBlock* N, MachineBasicBlock* next) {
48 N->Next = next;
49 }
4750 static MachineBasicBlock* createNode();
4851 void addNodeToList(MachineBasicBlock* N);
4952 void removeNodeFromList(MachineBasicBlock* N);
50 void transferNodesFromList(
51 iplist >& toList,
53 void transferNodesFromList(iplist,
54 ilist_traits > &toList,
5255 ilist_iterator first,
5356 ilist_iterator last);
5457 };
55
5658
5759
5860 class Function;
5961 class TargetMachine;
6062 class SSARegMap;
61 class MachineFunctionInfo;
6263 class MachineFrameInfo;
6364 class MachineConstantPool;
65 // MachineFunctionInfoBase - This is a gross SparcV9 hack
66 struct MachineFunctionInfoBase { virtual ~MachineFunctionInfoBase() {}; };
67 class MachineFunctionInfo;
6468
6569 class MachineFunction : private Annotation {
6670 const Function *Fn;
7276 // Keeping track of mapping from SSA values to registers
7377 SSARegMap *SSARegMapping;
7478
75 // Used to keep track of frame and constant area information for sparc be
76 MachineFunctionInfo *MFInfo;
79 // Used to keep track of frame and constant area information for SparcV9 BE.
80 mutable MachineFunctionInfoBase *MFInfo;
7781
7882 // Keep track of objects allocated on the stack.
7983 MachineFrameInfo *FrameInfo;
117121 /// MachineFunctionInfo - Keep track of various per-function pieces of
118122 /// information for the sparc backend.
119123 ///
120 MachineFunctionInfo *getInfo() const { return MFInfo; }
124 MachineFunctionInfo *getInfo() const;
121125
122126 /// getBlockNumbered - MachineBasicBlocks are automatically numbered when they
123127 /// are inserted into the machine function. The block number for a machine