diff options
Diffstat (limited to 'llvm/lib/Bitcode/Writer/BitcodeWriter.cpp')
-rw-r--r-- | llvm/lib/Bitcode/Writer/BitcodeWriter.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp b/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp index dcab20b..37a20d0 100644 --- a/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp +++ b/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp @@ -3055,7 +3055,11 @@ void ModuleBitcodeWriter::writeInstruction(const Instruction &I, Vals.push_back(VE.getValueID(I.getOperand(0))); // size. using APV = AllocaPackedValues; unsigned Record = 0; - Bitfield::set<APV::Align>(Record, getEncodedAlign(AI.getAlign())); + unsigned EncodedAlign = getEncodedAlign(AI.getAlign()); + Bitfield::set<APV::AlignLower>( + Record, EncodedAlign & ((1 << APV::AlignLower::Bits) - 1)); + Bitfield::set<APV::AlignUpper>(Record, + EncodedAlign >> APV::AlignLower::Bits); Bitfield::set<APV::UsedWithInAlloca>(Record, AI.isUsedWithInAlloca()); Bitfield::set<APV::ExplicitType>(Record, true); Bitfield::set<APV::SwiftError>(Record, AI.isSwiftError()); |