aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRuchira Sasanka <sasanka@students.uiuc.edu>2001-11-03 17:14:44 +0000
committerRuchira Sasanka <sasanka@students.uiuc.edu>2001-11-03 17:14:44 +0000
commit51bc0e7994094662ad31ce8b1df8692b97900ba3 (patch)
tree7bb4854bb89092c5745f06334fa3f134e0cb3c29
parent0d3ea0268f44f8fd4ddf7a15f3624b384b0691db (diff)
downloadexternal_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.h18
-rw-r--r--lib/Target/SparcV9/RegAlloc/PhyRegAlloc.h18
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
+
+*/
+
+
+