diff options
author | Ruchira Sasanka <sasanka@students.uiuc.edu> | 2001-09-30 23:19:09 +0000 |
---|---|---|
committer | Ruchira Sasanka <sasanka@students.uiuc.edu> | 2001-09-30 23:19:09 +0000 |
commit | 06faeee041dc2f24f2fd657ecc1bb5647d64fd40 (patch) | |
tree | 0515caa21a061de62b5a9bea6ceb4d81ca6e719f /include/llvm/Target | |
parent | 91442282d84a8c2c5322beaf547c36e18597bb02 (diff) | |
download | external_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.h | 31 |
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; |