summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/XCore/XCoreISelLowering.cpp
diff options
context:
space:
mode:
authorRobert Lytton <robert@xmos.com>2013-11-12 10:11:35 +0000
committerRobert Lytton <robert@xmos.com>2013-11-12 10:11:35 +0000
commit494591b87fc0b372160f35a88c4f46e0181d8c50 (patch)
treeaf81a0822f24fdfb1be32281522680b488378d90 /llvm/lib/Target/XCore/XCoreISelLowering.cpp
parentf7f0c5e3267711e7cf907b070d07e1a53e86fdd3 (diff)
downloadbcm5719-llvm-494591b87fc0b372160f35a88c4f46e0181d8c50.tar.gz
bcm5719-llvm-494591b87fc0b372160f35a88c4f46e0181d8c50.zip
XCore target: fix bug in aligning 'byval i8*' on the stack
llvm-svn: 194466
Diffstat (limited to 'llvm/lib/Target/XCore/XCoreISelLowering.cpp')
-rw-r--r--llvm/lib/Target/XCore/XCoreISelLowering.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Target/XCore/XCoreISelLowering.cpp b/llvm/lib/Target/XCore/XCoreISelLowering.cpp
index 149652ff733..a382a189cf3 100644
--- a/llvm/lib/Target/XCore/XCoreISelLowering.cpp
+++ b/llvm/lib/Target/XCore/XCoreISelLowering.cpp
@@ -1224,7 +1224,7 @@ XCoreTargetLowering::LowerCCCArguments(SDValue Chain,
ArgDI != ArgDE; ++ArgDI) {
if (ArgDI->Flags.isByVal() && ArgDI->Flags.getByValSize()) {
unsigned Size = ArgDI->Flags.getByValSize();
- unsigned Align = ArgDI->Flags.getByValAlign();
+ unsigned Align = std::max(StackSlotSize, ArgDI->Flags.getByValAlign());
// Create a new object on the stack and copy the pointee into it.
int FI = MFI->CreateStackObject(Size, Align, false, false);
SDValue FIN = DAG.getFrameIndex(FI, MVT::i32);
OpenPOWER on IntegriCloud