Virtual method calls are overrated.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15694 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2004-08-12 18:20:41 +00:00
parent 4f65fb38c6
commit be5af7d7f5
2 changed files with 6 additions and 8 deletions

View File

@ -2494,8 +2494,8 @@ static void CreateCodeForVariableSizeAlloca(const TargetMachine& target,
numElementsVal->getType(), isValid);
assert(isValid && "Unexpectedly large array dimension in alloca!");
int64_t total = numElem * tsize;
if (int extra= total % target.getFrameInfo()->getStackFrameSizeAlignment())
total += target.getFrameInfo()->getStackFrameSizeAlignment() - extra;
if (int extra= total % SparcV9FrameInfo::StackFrameSizeAlignment)
total += SparcV9FrameInfo::StackFrameSizeAlignment - extra;
totalSizeVal = ConstantSInt::get(Type::IntTy, total);
} else {
// The size is not a constant. Generate code to compute it and

View File

@ -7,9 +7,7 @@
//
//===----------------------------------------------------------------------===//
//
// Interface to stack frame layout info for the UltraSPARC. Starting offsets
// for each area of the stack frame are aligned at a multiple of
// getStackFrameSizeAlignment().
// Interface to stack frame layout info for the UltraSPARC.
//
//===----------------------------------------------------------------------===//
@ -57,9 +55,9 @@ SparcV9FrameInfo::getDynamicAreaOffset(MachineFunction& mcInfo, bool& pos) const
// dynamic-size alloca.
pos = false;
unsigned optArgsSize = mcInfo.getInfo()->getMaxOptionalArgsSize();
if (int extra = optArgsSize % getStackFrameSizeAlignment())
optArgsSize += (getStackFrameSizeAlignment() - extra);
if (int extra = optArgsSize % 16)
optArgsSize += (16 - extra);
int offset = optArgsSize + FirstOptionalOutgoingArgOffsetFromSP;
assert((offset - OFFSET) % getStackFrameSizeAlignment() == 0);
assert((offset - OFFSET) % 16 == 0);
return offset;
}