From 51bc0e7994094662ad31ce8b1df8692b97900ba3 Mon Sep 17 00:00:00 2001 From: Ruchira Sasanka <sasanka@students.uiuc.edu> Date: Sat, 3 Nov 2001 17:14:44 +0000 Subject: [PATCH] Arranged stack frame - needs furhter organization git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1108 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/RegAlloc/PhyRegAlloc.h | 18 ++++++++++++++++++ lib/Target/SparcV9/RegAlloc/PhyRegAlloc.h | 18 ++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/lib/CodeGen/RegAlloc/PhyRegAlloc.h b/lib/CodeGen/RegAlloc/PhyRegAlloc.h index 59de6195314..0380e803add 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 59de6195314..0380e803add 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 + +*/ + + +