aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/Target
diff options
context:
space:
mode:
authorRuchira Sasanka <sasanka@students.uiuc.edu>2001-09-30 23:19:09 +0000
committerRuchira Sasanka <sasanka@students.uiuc.edu>2001-09-30 23:19:09 +0000
commit06faeee041dc2f24f2fd657ecc1bb5647d64fd40 (patch)
tree0515caa21a061de62b5a9bea6ceb4d81ca6e719f /include/llvm/Target
parent91442282d84a8c2c5322beaf547c36e18597bb02 (diff)
downloadexternal_llvm-06faeee041dc2f24f2fd657ecc1bb5647d64fd40.zip
external_llvm-06faeee041dc2f24f2fd657ecc1bb5647d64fd40.tar.gz
external_llvm-06faeee041dc2f24f2fd657ecc1bb5647d64fd40.tar.bz2
added suggesting color suppor
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@672 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Target')
-rw-r--r--include/llvm/Target/TargetRegInfo.h31
1 files changed, 24 insertions, 7 deletions
diff --git a/include/llvm/Target/TargetRegInfo.h b/include/llvm/Target/TargetRegInfo.h
index aab0980..b66c1b7 100644
--- a/include/llvm/Target/TargetRegInfo.h
+++ b/include/llvm/Target/TargetRegInfo.h
@@ -20,6 +20,9 @@ class Instruction;
class LiveRange;
class AddedInstrns;
class MachineInstr;
+class RegClass;
+class CallInst;
+class ReturnInst;
//-----------------------------------------------------------------------------
@@ -114,17 +117,31 @@ public:
//virtual unsigned getRCIDOfMachineOp (const MachineOperand &MO) const = 0;
- virtual void colorArgs(const Method *const Meth,
+ virtual void suggestRegs4MethodArgs(const Method *const Meth,
LiveRangeInfo & LRI) const = 0;
- virtual void colorCallArgs(vector<const Instruction *> & CallInstrList,
- LiveRangeInfo& LRI,
- AddedInstrMapType& AddedInstrMap ) const = 0 ;
+ virtual void suggestRegs4CallArgs(const CallInst *const CallI,
+ LiveRangeInfo& LRI, vector<RegClass *> RCL) const = 0;
+
+ virtual void suggestReg4RetValue(const ReturnInst *const RetI,
+ LiveRangeInfo& LRI) const = 0;
+
+
+
+ virtual void colorMethodArgs(const Method *const Meth, LiveRangeInfo& LRI,
+ AddedInstrns *const FirstAI) const = 0;
+
+ virtual void colorCallArgs(const CallInst *const CalI, LiveRangeInfo& LRI,
+ AddedInstrns *const CallAI) const = 0;
+
+ virtual void colorRetValue(const ReturnInst *const RetI, LiveRangeInfo& LRI,
+ AddedInstrns *const RetAI) const = 0;
+
- virtual void colorRetArg(vector<const Instruction *> &
- RetInstrList, LiveRangeInfo& LRI,
- AddedInstrMapType &AddedInstrMap) const =0;
+ virtual bool handleSpecialMInstr(const MachineInstr * MInst,
+ LiveRangeInfo& LRI, vector<RegClass *> RCL) const = 0;
+
// returns the reg used for pushing the address when a method is called.
// This can be used for other purposes between calls
virtual unsigned getCallAddressReg() const = 0;