diff --git a/lib/CodeGen/SelectionDAG/CallingConvLower.cpp b/lib/CodeGen/SelectionDAG/CallingConvLower.cpp
index 522ad73..337c7fd 100644
--- a/lib/CodeGen/SelectionDAG/CallingConvLower.cpp
+++ b/lib/CodeGen/SelectionDAG/CallingConvLower.cpp
@@ -29,15 +29,22 @@
   UsedRegs.resize(MRI.getNumRegs());
 }
 
-void CCState::HandleStruct(unsigned ValNo, MVT::ValueType ValVT,
-                           MVT::ValueType LocVT, CCValAssign::LocInfo LocInfo,
-                           unsigned ArgFlags) {
-  unsigned MinAlign = TM.getTargetData()->getPointerABIAlignment();
+// HandleByVal - Allocate a stack slot large enough to pass an argument by
+// value. The size and alignment information of the argument is encoded in its
+// parameter attribute.
+void CCState::HandleByVal(unsigned ValNo, MVT::ValueType ValVT,
+                          MVT::ValueType LocVT, CCValAssign::LocInfo LocInfo,
+                          int MinSize, int MinAlign,
+                          unsigned ArgFlags) {
   unsigned Align  = 1 << ((ArgFlags & ISD::ParamFlags::ByValAlign) >>
                           ISD::ParamFlags::ByValAlignOffs);
   unsigned Size   = (ArgFlags & ISD::ParamFlags::ByValSize) >>
       ISD::ParamFlags::ByValSizeOffs;
-  unsigned Offset = AllocateStack(Size, std::max(MinAlign, Align));
+  if (MinSize > (int)Size)
+    Size = MinSize;
+  if (MinAlign > (int)Align)
+    Align = MinAlign;
+  unsigned Offset = AllocateStack(Size, Align);
 
   addLoc(CCValAssign::getMem(ValNo, ValVT, Offset, LocVT, LocInfo));
 }
