diff options
author | Vikram S. Adve <vadve@cs.uiuc.edu> | 2002-04-25 04:48:54 +0000 |
---|---|---|
committer | Vikram S. Adve <vadve@cs.uiuc.edu> | 2002-04-25 04:48:54 +0000 |
commit | a8ac3fca6f31ece5f9675434f1ddace6cd912c09 (patch) | |
tree | 1ee008cc193ad03017db3985a02c857a90ab3d62 /include/llvm/Target/TargetFrameInfo.h | |
parent | 7b3640bd1247ddf10a2615356904bed398720da1 (diff) | |
download | external_llvm-a8ac3fca6f31ece5f9675434f1ddace6cd912c09.zip external_llvm-a8ac3fca6f31ece5f9675434f1ddace6cd912c09.tar.gz external_llvm-a8ac3fca6f31ece5f9675434f1ddace6cd912c09.tar.bz2 |
Added functions to compute the offset of a given incoming or outgoing
argument. These are no longer allocated as they are discovered.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2320 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Target/TargetFrameInfo.h')
-rw-r--r-- | include/llvm/Target/TargetFrameInfo.h | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/include/llvm/Target/TargetFrameInfo.h b/include/llvm/Target/TargetFrameInfo.h index df16c73..8f1a0be 100644 --- a/include/llvm/Target/TargetFrameInfo.h +++ b/include/llvm/Target/TargetFrameInfo.h @@ -20,6 +20,7 @@ //************************* Forward Declarations **************************/ class MachineCodeForMethod; +class TargetMachine; //*************************** External Classes ****************************/ @@ -45,21 +46,28 @@ public: // These methods compute offsets using the frame contents for a // particular method. The frame contents are obtained from the // MachineCodeInfoForMethod object for the given method. + // The first few methods have default machine-independent implementations. + // The rest must be implemented by the machine-specific subclass. // + virtual int getIncomingArgOffset (MachineCodeForMethod& mcInfo, + unsigned argNum) const; + virtual int getOutgoingArgOffset (MachineCodeForMethod& mcInfo, + unsigned argNum) const; + virtual int getFirstIncomingArgOffset (MachineCodeForMethod& mcInfo, - bool& pos) const=0; + bool& growUp) const=0; virtual int getFirstOutgoingArgOffset (MachineCodeForMethod& mcInfo, - bool& pos) const=0; + bool& growUp) const=0; virtual int getFirstOptionalOutgoingArgOffset (MachineCodeForMethod&, - bool& pos) const=0; + bool& growUp) const=0; virtual int getFirstAutomaticVarOffset (MachineCodeForMethod& mcInfo, - bool& pos) const=0; + bool& growUp) const=0; virtual int getRegSpillAreaOffset (MachineCodeForMethod& mcInfo, - bool& pos) const=0; + bool& growUp) const=0; virtual int getTmpAreaOffset (MachineCodeForMethod& mcInfo, - bool& pos) const=0; + bool& growUp) const=0; virtual int getDynamicAreaOffset (MachineCodeForMethod& mcInfo, - bool& pos) const=0; + bool& growUp) const=0; // // These methods specify the base register used for each stack area |