Minor fixes.
authorVikram S. Adve <vadve@cs.uiuc.edu>
Mon, 18 Mar 2002 03:08:07 +0000 (03:08 +0000)
committerVikram S. Adve <vadve@cs.uiuc.edu>
Mon, 18 Mar 2002 03:08:07 +0000 (03:08 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1892 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/SparcV9/SparcV9TargetMachine.cpp

index a4556d161d0187a1baa92a18346f9bb995db64dd..666f61c8fac5574db55df87739e45c2f725923b6 100644 (file)
@@ -114,7 +114,7 @@ void InsertPrologEpilogCode::InsertEpilogCode(Method* method)
         assert(N == ndelays && "Cannot use epilog code for delay slots?");
         
         // Append the epilog code to the end of the basic block.
-        bbMvec.push_back(minstrVec[0]);
+        bbMvec.insert(bbMvec.end(), minstrVec, minstrVec+N);
       }
   }
 }
@@ -165,10 +165,14 @@ int
 UltraSparcFrameInfo::getDynamicAreaOffset(MachineCodeForMethod& mcInfo,
                                           bool& pos) const
 {
-  // dynamic stack area grows downwards starting at top of opt-args area
+  // Dynamic stack area grows downwards starting at top of opt-args area.
+  // The opt-args, required-args, and register-save areas are empty except
+  // during calls and traps, so they are shifted downwards on each
+  // dynamic-size alloca.
+  pos = false;
   unsigned int optArgsSize = mcInfo.getMaxOptionalArgsSize();
   int offset = optArgsSize + FirstOptionalOutgoingArgOffsetFromSP;
-  assert(offset % getStackFrameSizeAlignment() == 0);
+  assert((offset - OFFSET) % getStackFrameSizeAlignment() == 0);
   return offset;
 }