Instead of a virtual method call, lets try a direct constant reference
authorChris Lattner <sabre@nondot.org>
Thu, 12 Aug 2004 18:29:05 +0000 (18:29 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 12 Aug 2004 18:29:05 +0000 (18:29 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15696 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/SparcV9/SparcV9BurgISel.cpp
lib/Target/SparcV9/SparcV9PrologEpilogInserter.cpp
lib/Target/SparcV9/SparcV9RegInfo.cpp

index 3716edb625dd10ebe80391fba30f4343cceff7c9..037cb32c20d312cb230f8b0f11cc7cc68d07affe 100644 (file)
@@ -2575,7 +2575,7 @@ CreateCodeForFixedSizeAlloca(const TargetMachine& target,
                                                                 paddedSize,
                                                          tsize * numElements);
 
-  if (((int)paddedSize) > 8 * target.getFrameInfo()->getSizeOfEachArgOnStack()||
+  if (((int)paddedSize) > 8 * SparcV9FrameInfo::SizeOfEachArgOnStack ||
       !target.getInstrInfo()->constantFitsInImmedField(V9::LDXi,offsetFromFP)) {
     CreateCodeForVariableSizeAlloca(target, result, tsize, 
                                    ConstantSInt::get(Type::IntTy,numElements),
@@ -3992,7 +3992,7 @@ void GetInstructionsByRule(InstructionNode* subtreeRoot, int ruleForNode,
               // not need to be adjusted.
               int argOffset = frameInfo.getOutgoingArgOffset(MF, argNo);
               if (argType->isFloatingPoint()) {
-                unsigned slotSize = frameInfo.getSizeOfEachArgOnStack();
+                unsigned slotSize = SparcV9FrameInfo::SizeOfEachArgOnStack;
                 assert(argSize <= slotSize && "Insufficient slot size!");
                 argOffset += slotSize - argSize;
               }
@@ -4132,7 +4132,7 @@ void GetInstructionsByRule(InstructionNode* subtreeRoot, int ruleForNode,
         Instruction* vaNextI = subtreeRoot->getInstruction();
         assert(target.getTargetData().getTypeSize(vaNextI->getType()) <= 8 &&
                "We assumed that all LLVM parameter types <= 8 bytes!");
-        int argSize = target.getFrameInfo()->getSizeOfEachArgOnStack();
+        unsigned argSize = SparcV9FrameInfo::SizeOfEachArgOnStack;
         mvec.push_back(BuildMI(V9::ADDi, 3).addReg(vaNextI->getOperand(0)).
                        addSImm(argSize).addRegDef(vaNextI));
         break;
index f2e03589329549c1aeb7bfcffd35be471509e7be..5a7080832725792c8c9309cda768ed8cf27f72fe 100644 (file)
@@ -58,8 +58,8 @@ static unsigned getStaticStackSize (MachineFunction &MF) {
 
   unsigned staticStackSize = MF.getInfo()->getStaticStackSize();
 
-  if (staticStackSize < (unsigned) frameInfo.getMinStackFrameSize())
-    staticStackSize = (unsigned) frameInfo.getMinStackFrameSize();
+  if (staticStackSize < SparcV9FrameInfo::MinStackFrameSize)
+    staticStackSize = SparcV9FrameInfo::MinStackFrameSize;
   if (unsigned padsz = staticStackSize % 
                        SparcV9FrameInfo::StackFrameSizeAlignment)
     staticStackSize += SparcV9FrameInfo::StackFrameSizeAlignment - padsz;
index e3e8a712f49c7fdfe326a7ded41548b2e901d0a6..b01c4fcfc72195d9da60770ee297819ba9a59c47 100644 (file)
@@ -25,6 +25,7 @@
 #include "SparcV9Internals.h"
 #include "SparcV9RegClassInfo.h"
 #include "SparcV9RegInfo.h"
+#include "SparcV9FrameInfo.h"
 #include "SparcV9TargetMachine.h"
 #include "SparcV9TmpInstr.h"
 #include <iostream>
@@ -492,7 +493,7 @@ void SparcV9RegInfo::colorMethodArgs(const Function *Meth,
         // a full double-word so the offset does not need to be adjusted.
         if (regType == FPSingleRegType) {
           unsigned argSize = target.getTargetData().getTypeSize(LR->getType());
-          unsigned slotSize = frameInfo.getSizeOfEachArgOnStack();
+          unsigned slotSize = SparcV9FrameInfo::SizeOfEachArgOnStack;
           assert(argSize <= slotSize && "Insufficient slot size!");
           offsetFromFP += slotSize - argSize;
         }
@@ -550,7 +551,7 @@ void SparcV9RegInfo::colorMethodArgs(const Function *Meth,
         // a full double-word so the offset does not need to be adjusted.
         if (regType == FPSingleRegType) {
           unsigned argSize = target.getTargetData().getTypeSize(LR->getType());
-          unsigned slotSize = frameInfo.getSizeOfEachArgOnStack();
+          unsigned slotSize = SparcV9FrameInfo::SizeOfEachArgOnStack;
           assert(argSize <= slotSize && "Insufficient slot size!");
           offsetFromFP += slotSize - argSize;
         }