diff --git a/llvm/lib/CodeGen/AsmPrinter.cpp b/llvm/lib/CodeGen/AsmPrinter.cpp index 1266179a2cdb..16c478dcdc1c 100644 --- a/llvm/lib/CodeGen/AsmPrinter.cpp +++ b/llvm/lib/CodeGen/AsmPrinter.cpp @@ -582,8 +582,8 @@ void AsmPrinter::EmitString(const std::string &String) const { // Use the maximum of the specified alignment and the alignment from the // specified GlobalValue (if any). void AsmPrinter::EmitAlignment(unsigned NumBits, const GlobalValue *GV) const { - if (GV && GV->getAlignment() && Log2_32(GV->getAlignment()) > NumBits) - NumBits = Log2_32(GV->getAlignment()); + if (GV && GV->getAlignment()) + NumBits = std::max(NumBits, Log2_32(GV->getAlignment())); if (NumBits == 0) return; // No need to emit alignment. if (TAI->getAlignmentIsInBytes()) NumBits = 1 << NumBits; O << TAI->getAlignDirective() << NumBits << "\n";