aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuchira Sasanka <sasanka@students.uiuc.edu>2001-10-28 18:14:15 +0000
committerRuchira Sasanka <sasanka@students.uiuc.edu>2001-10-28 18:14:15 +0000
commit78d63ee3136b74c7ee3eae1e7362d3b642fabf0c (patch)
treef9ffb8b830c471ce442f94b77785be9175115853
parent174bded6ce100512679db768605611d3bdc3cec1 (diff)
Moved callerSaving code to machine specific classes since we have to handle
%ccr reg differently. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@991 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/Target/TargetRegInfo.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/include/llvm/Target/TargetRegInfo.h b/include/llvm/Target/TargetRegInfo.h
index 9a7ef4665f..73dc0ce1c7 100644
--- a/include/llvm/Target/TargetRegInfo.h
+++ b/include/llvm/Target/TargetRegInfo.h
@@ -23,7 +23,8 @@ class MachineInstr;
class RegClass;
class CallInst;
class ReturnInst;
-
+class PhyRegAlloc;
+class BasicBlock;
//-----------------------------------------------------------------------------
// class MachineRegClassInfo
@@ -129,8 +130,8 @@ public:
AddedInstrns *const FirstAI) const = 0;
virtual void colorCallArgs(const MachineInstr *const CalI,
- LiveRangeInfo& LRI,
- AddedInstrns *const CallAI) const = 0;
+ LiveRangeInfo& LRI, AddedInstrns *const CallAI,
+ PhyRegAlloc &PRA) const = 0;
virtual void colorRetValue(const MachineInstr *const RetI,LiveRangeInfo& LRI,
AddedInstrns *const RetAI) const = 0;
@@ -179,6 +180,11 @@ public:
inline virtual int getInvalidRegNum() const=0;
+ virtual void insertCallerSavingCode(const MachineInstr *MInst,
+ const BasicBlock *BB,
+ PhyRegAlloc &PRA ) const = 0;
+
+
//virtual void printReg(const LiveRange *const LR) const =0;
MachineRegInfo() { }