summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/AArch64
diff options
context:
space:
mode:
authorAmara Emerson <aemerson@apple.com>2017-11-30 20:06:02 +0000
committerAmara Emerson <aemerson@apple.com>2017-11-30 20:06:02 +0000
commitd78d65c2a4eed16b273c214d24f5d5f55ce31d52 (patch)
treecff9262ba11c2ab5cf3994dfb4e274c3835fc767 /llvm/lib/Target/AArch64
parent9750f662f70de69cb7b618e4477e30d6d3adb267 (diff)
downloadbcm5719-llvm-d78d65c2a4eed16b273c214d24f5d5f55ce31d52.tar.gz
bcm5719-llvm-d78d65c2a4eed16b273c214d24f5d5f55ce31d52.zip
[GlobalISel][IRTranslator] Fix crash during translation of zero sized loads/stores/args/returns.
This fixes PR35358. rdar://35619533 Differential Revision: https://reviews.llvm.org/D40604 llvm-svn: 319465
Diffstat (limited to 'llvm/lib/Target/AArch64')
-rw-r--r--llvm/lib/Target/AArch64/AArch64CallLowering.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64CallLowering.cpp b/llvm/lib/Target/AArch64/AArch64CallLowering.cpp
index 5cc8881d1c1..838305858ea 100644
--- a/llvm/lib/Target/AArch64/AArch64CallLowering.cpp
+++ b/llvm/lib/Target/AArch64/AArch64CallLowering.cpp
@@ -259,6 +259,8 @@ bool AArch64CallLowering::lowerFormalArguments(MachineIRBuilder &MIRBuilder,
SmallVector<ArgInfo, 8> SplitArgs;
unsigned i = 0;
for (auto &Arg : F.args()) {
+ if (DL.getTypeStoreSize(Arg.getType()) == 0)
+ continue;
ArgInfo OrigArg{VRegs[i], Arg.getType()};
setArgFlags(OrigArg, i + AttributeList::FirstArgIndex, DL, F);
bool Split = false;
OpenPOWER on IntegriCloud