diff options
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp b/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp index 6a8712e184b..e035c66b24a 100644 --- a/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp +++ b/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp @@ -172,6 +172,9 @@ bool IRTranslator::translateStaticAlloca(const AllocaInst &AI) { unsigned Size = ElementSize * cast<ConstantInt>(AI.getArraySize())->getZExtValue(); + // Always allocate at least one byte. + Size = std::max(Size, 1u); + unsigned Alignment = AI.getAlignment(); if (!Alignment) Alignment = DL->getABITypeAlignment(AI.getAllocatedType()); |