Added functions to compute the offset of a given incoming or outgoing
authorVikram S. Adve <vadve@cs.uiuc.edu>
Thu, 25 Apr 2002 04:48:54 +0000 (04:48 +0000)
committerVikram S. Adve <vadve@cs.uiuc.edu>
Thu, 25 Apr 2002 04:48:54 +0000 (04:48 +0000)
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

include/llvm/Target/TargetFrameInfo.h

index df16c730b2232abed957eedc591962a3ecdfeaa9..8f1a0becf87a38ce64ed9209ee8dee3513c81594 100644 (file)
@@ -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