diff --git a/llvm/include/llvm/CodeGen/MachineFrameInfo.h b/llvm/include/llvm/CodeGen/MachineFrameInfo.h --- a/llvm/include/llvm/CodeGen/MachineFrameInfo.h +++ b/llvm/include/llvm/CodeGen/MachineFrameInfo.h @@ -476,18 +476,6 @@ } /// setObjectAlignment - Change the alignment of the specified stack object. - /// FIXME: Remove this function once transition to Align is over. - void setObjectAlignment(int ObjectIdx, unsigned Align) { - assert(unsigned(ObjectIdx+NumFixedObjects) < Objects.size() && - "Invalid Object Idx!"); - Objects[ObjectIdx + NumFixedObjects].Alignment = assumeAligned(Align); - - // Only ensure max alignment for the default stack. - if (getStackID(ObjectIdx) == 0) - ensureMaxAlignment(assumeAligned(Align)); - } - - /// setObjectAlignment - Change the alignment of the specified stack object. void setObjectAlignment(int ObjectIdx, Align Alignment) { assert(unsigned(ObjectIdx + NumFixedObjects) < Objects.size() && "Invalid Object Idx!"); @@ -498,6 +486,14 @@ ensureMaxAlignment(Alignment); } + /// setObjectAlignment - Change the alignment of the specified stack object. + /// FIXME: Remove this function once transition to Align is over. + LLVM_ATTRIBUTE_DEPRECATED(inline void setObjectAlignment(int ObjectIdx, + unsigned Align), + "Use the version that takes Align instead") { + setObjectAlignment(ObjectIdx, assumeAligned(Align)); + } + /// Return the underlying Alloca of the specified /// stack object if it exists. Returns 0 if none exists. const AllocaInst* getObjectAllocation(int ObjectIdx) const { diff --git a/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp b/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp --- a/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp +++ b/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp @@ -2590,7 +2590,7 @@ // Then process all callee saved slots. if (getSVECalleeSaveSlotRange(MFI, MinCSFrameIndex, MaxCSFrameIndex)) { // Make sure to align the last callee save slot. - MFI.setObjectAlignment(MaxCSFrameIndex, 16U); + MFI.setObjectAlignment(MaxCSFrameIndex, Align(16)); // Assign offsets to the callee save slots. for (int I = MinCSFrameIndex; I <= MaxCSFrameIndex; ++I) { diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp --- a/llvm/lib/Target/X86/X86ISelLowering.cpp +++ b/llvm/lib/Target/X86/X86ISelLowering.cpp @@ -8133,7 +8133,7 @@ // FIXME: 256-bit vector instructions don't require a strict alignment, // improve this code to support it better. - unsigned RequiredAlign = VT.getSizeInBits()/8; + Align RequiredAlign(VT.getSizeInBits() / 8); SDValue Chain = LD->getChain(); // Make sure the stack object alignment is at least 16 or 32. MachineFrameInfo &MFI = DAG.getMachineFunction().getFrameInfo(); @@ -8152,9 +8152,9 @@ // Ptr + (Offset & ~15). if (Offset < 0) return SDValue(); - if ((Offset % RequiredAlign) & 3) + if ((Offset % RequiredAlign.value()) & 3) return SDValue(); - int64_t StartOffset = Offset & ~int64_t(RequiredAlign - 1); + int64_t StartOffset = Offset & ~int64_t(RequiredAlign.value() - 1); if (StartOffset) { SDLoc DL(Ptr); Ptr = DAG.getNode(ISD::ADD, DL, Ptr.getValueType(), Ptr,