Make argsize calculation stuff optional, so that Targets without FrameInfo
authorChris Lattner <sabre@nondot.org>
Tue, 29 Oct 2002 23:40:03 +0000 (23:40 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 29 Oct 2002 23:40:03 +0000 (23:40 +0000)
objects yet don't die

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4427 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/MachineFunction.cpp

index c46c90632de80d298bd44ed1eb5a932867b6e56a..f18fb148b2e028eb01984bc9f8e95c824cdc71ca 100644 (file)
@@ -38,7 +38,7 @@ namespace {
     }
     
     bool runOnFunction(Function &F) {
-      MachineFunction::construct(&F, Target);
+      MachineFunction::construct(&F, Target).CalculateArgSize();
       return false;
     }
   };
@@ -173,7 +173,6 @@ SizeToAlignment(unsigned int size, const TargetMachine& target)
 }
 
 
-/*ctor*/
 MachineFunction::MachineFunction(const Function *F,
                                  const TargetMachine& target)
   : Annotation(MF_AID),
@@ -183,10 +182,13 @@ MachineFunction::MachineFunction(const Function *F,
     currentTmpValuesSize(0), maxTmpValuesSize(0), compiledAsLeaf(false),
     spillsAreaFrozen(false), automaticVarsAreaFrozen(false)
 {
-  maxOptionalArgsSize = ComputeMaxOptionalArgsSize(target, Fn,
+}
+
+void MachineFunction::CalculateArgSize() {
+  maxOptionalArgsSize = ComputeMaxOptionalArgsSize(Target, Fn,
                                                    maxOptionalNumArgs);
   staticStackSize = maxOptionalArgsSize
-                    + target.getFrameInfo().getMinStackFrameSize();
+    + Target.getFrameInfo().getMinStackFrameSize();
 }
 
 int