diff options
author | Ruchira Sasanka <sasanka@students.uiuc.edu> | 2001-11-03 17:14:44 +0000 |
---|---|---|
committer | Ruchira Sasanka <sasanka@students.uiuc.edu> | 2001-11-03 17:14:44 +0000 |
commit | 51bc0e7994094662ad31ce8b1df8692b97900ba3 (patch) | |
tree | 7bb4854bb89092c5745f06334fa3f134e0cb3c29 | |
parent | 0d3ea0268f44f8fd4ddf7a15f3624b384b0691db (diff) | |
download | external_llvm-51bc0e7994094662ad31ce8b1df8692b97900ba3.zip external_llvm-51bc0e7994094662ad31ce8b1df8692b97900ba3.tar.gz external_llvm-51bc0e7994094662ad31ce8b1df8692b97900ba3.tar.bz2 |
Arranged stack frame - needs furhter organization
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1108 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/CodeGen/RegAlloc/PhyRegAlloc.h | 18 | ||||
-rw-r--r-- | lib/Target/SparcV9/RegAlloc/PhyRegAlloc.h | 18 |
2 files changed, 36 insertions, 0 deletions
diff --git a/lib/CodeGen/RegAlloc/PhyRegAlloc.h b/lib/CodeGen/RegAlloc/PhyRegAlloc.h index 59de619..0380e80 100644 --- a/lib/CodeGen/RegAlloc/PhyRegAlloc.h +++ b/lib/CodeGen/RegAlloc/PhyRegAlloc.h @@ -151,10 +151,13 @@ class PhyRegAlloc //vector<const Instruction *> CallInstrList; // a list of all call instrs //vector<const Instruction *> RetInstrList; // a list of all return instrs + AddedInstrMapType AddedInstrMap; // to store instrns added in this phase RegStackOffsets StackOffsets; + vector<const MachineInstr *> PhiInstList; // a list of all phi instrs + //------- private methods --------------------------------------------------- void addInterference(const Value *const Def, const LiveVarSet *const LVSet, @@ -194,6 +197,7 @@ class PhyRegAlloc void setRegsUsedByThisInst(RegClass *RC, const MachineInstr *MInst ); int getRegNotUsedByThisInst(RegClass *RC, const MachineInstr *MInst); + void PhyRegAlloc::insertPhiEleminateInstrns(); public: @@ -206,6 +210,20 @@ class PhyRegAlloc +/* + + +What to do: + + * Insert IntCCReg checking code to insertCallerSaving + * add methods like cpCCReg2Mem & cpMem2CCReg (these will accept an array + and push back or push_front the instr according to PUSH_BACK, PUSH_FRONT + flags + +*/ + + + diff --git a/lib/Target/SparcV9/RegAlloc/PhyRegAlloc.h b/lib/Target/SparcV9/RegAlloc/PhyRegAlloc.h index 59de619..0380e80 100644 --- a/lib/Target/SparcV9/RegAlloc/PhyRegAlloc.h +++ b/lib/Target/SparcV9/RegAlloc/PhyRegAlloc.h @@ -151,10 +151,13 @@ class PhyRegAlloc //vector<const Instruction *> CallInstrList; // a list of all call instrs //vector<const Instruction *> RetInstrList; // a list of all return instrs + AddedInstrMapType AddedInstrMap; // to store instrns added in this phase RegStackOffsets StackOffsets; + vector<const MachineInstr *> PhiInstList; // a list of all phi instrs + //------- private methods --------------------------------------------------- void addInterference(const Value *const Def, const LiveVarSet *const LVSet, @@ -194,6 +197,7 @@ class PhyRegAlloc void setRegsUsedByThisInst(RegClass *RC, const MachineInstr *MInst ); int getRegNotUsedByThisInst(RegClass *RC, const MachineInstr *MInst); + void PhyRegAlloc::insertPhiEleminateInstrns(); public: @@ -206,6 +210,20 @@ class PhyRegAlloc +/* + + +What to do: + + * Insert IntCCReg checking code to insertCallerSaving + * add methods like cpCCReg2Mem & cpMem2CCReg (these will accept an array + and push back or push_front the instr according to PUSH_BACK, PUSH_FRONT + flags + +*/ + + + |