Round up the size of byval arguments to MinAlign
[oota-llvm.git] / lib / CodeGen / CallingConvLower.cpp
index 50fc6a179b60457b9f1b2aecd70d743d77137069..cfcc9eae14ee879932760095690da80c0996a401 100644 (file)
@@ -52,6 +52,7 @@ void CCState::HandleByVal(unsigned ValNo, MVT ValVT,
     Align = MinAlign;
   MF.getFrameInfo()->ensureMaxAlignment(Align);
   TM.getSubtargetImpl()->getTargetLowering()->HandleByVal(this, Size, Align);
+  Size = unsigned(RoundUpToAlignment(Size, MinAlign));
   unsigned Offset = AllocateStack(Size, Align);
   addLoc(CCValAssign::getMem(ValNo, ValVT, Offset, LocVT, LocInfo));
 }