[llvm-commits] [llvm] r173304 - /llvm/trunk/lib/IR/Attributes.cpp
Bill Wendling
isanbard at gmail.com
Wed Jan 23 15:00:05 PST 2013
Author: void
Date: Wed Jan 23 17:00:05 2013
New Revision: 173304
URL: http://llvm.org/viewvc/llvm-project?rev=173304&view=rev
Log:
Push down the conversion of the alignment from the bit mask to a real number into the attribute implementation class.
Modified:
llvm/trunk/lib/IR/Attributes.cpp
Modified: llvm/trunk/lib/IR/Attributes.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/Attributes.cpp?rev=173304&r1=173303&r2=173304&view=diff
==============================================================================
--- llvm/trunk/lib/IR/Attributes.cpp (original)
+++ llvm/trunk/lib/IR/Attributes.cpp Wed Jan 23 17:00:05 2013
@@ -73,7 +73,7 @@
unsigned Attribute::getAlignment() const {
if (!hasAttribute(Attribute::Alignment))
return 0;
- return 1U << ((pImpl->getAlignment() >> 16) - 1);
+ return pImpl->getAlignment();
}
/// This returns the stack alignment field of an attribute as a byte alignment
@@ -81,7 +81,7 @@
unsigned Attribute::getStackAlignment() const {
if (!hasAttribute(Attribute::StackAlignment))
return 0;
- return 1U << ((pImpl->getStackAlignment() >> 26) - 1);
+ return pImpl->getStackAlignment();
}
bool Attribute::operator==(AttrKind K) const {
@@ -491,11 +491,13 @@
}
uint64_t AttributeImpl::getAlignment() const {
- return Raw() & getAttrMask(Attribute::Alignment);
+ uint64_t Mask = Raw() & getAttrMask(Attribute::Alignment);
+ return 1U << ((Mask >> 16) - 1);
}
uint64_t AttributeImpl::getStackAlignment() const {
- return Raw() & getAttrMask(Attribute::StackAlignment);
+ uint64_t Mask = Raw() & getAttrMask(Attribute::StackAlignment);
+ return 1U << ((Mask >> 26) - 1);
}
void AttributeImpl::Profile(FoldingSetNodeID &ID, Constant *Data,
More information about the llvm-commits
mailing list