Remove AttrBuilder::Raw().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174251 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Bill Wendling 2013-02-02 00:52:44 +00:00
parent bdcbccc710
commit fca0ed28c8
2 changed files with 18 additions and 27 deletions

View File

@ -439,8 +439,6 @@ public:
///
/// N.B. This should be used ONLY for decoding LLVM bitcode!
AttrBuilder &addRawValue(uint64_t Val);
uint64_t Raw() const;
};
namespace AttributeFuncs {

View File

@ -408,12 +408,23 @@ uint64_t AttributeSetImpl::Raw(uint64_t Index) const {
for (unsigned I = 0, E = getNumAttributes(); I != E; ++I) {
if (getSlotIndex(I) != Index) continue;
const AttributeSetNode *ASN = AttrNodes[I].second;
AttrBuilder B;
uint64_t Mask = 0;
for (AttributeSetNode::const_iterator II = ASN->begin(),
IE = ASN->end(); II != IE; ++II)
B.addAttribute(*II);
return B.Raw();
IE = ASN->end(); II != IE; ++II) {
Attribute Attr = *II;
ConstantInt *Kind = cast<ConstantInt>(Attr.getAttributeKind());
Attribute::AttrKind KindVal = Attribute::AttrKind(Kind->getZExtValue());
if (KindVal == Attribute::Alignment)
Mask |= (Log2_32(ASN->getAlignment()) + 1) << 16;
else if (KindVal == Attribute::StackAlignment)
Mask |= (Log2_32(ASN->getStackAlignment()) + 1) << 26;
else
Mask |= AttributeImpl::getAttrMask(KindVal);
}
return Mask;
}
return 0;
@ -895,10 +906,10 @@ bool AttrBuilder::hasAttributes(AttributeSet A, uint64_t Index) const {
I != E; ++I) {
Attribute Attr = *I;
// FIXME: Support StringRefs.
Attribute::AttrKind Kind = Attribute::AttrKind(
cast<ConstantInt>(Attr.getAttributeKind())->getZExtValue());
ConstantInt *Kind = cast<ConstantInt>(Attr.getAttributeKind());
Attribute::AttrKind KindVal = Attribute::AttrKind(Kind->getZExtValue());
if (Attrs.count(Kind))
if (Attrs.count(KindVal))
return true;
}
@ -933,24 +944,6 @@ AttrBuilder &AttrBuilder::addRawValue(uint64_t Val) {
return *this;
}
uint64_t AttrBuilder::Raw() const {
uint64_t Mask = 0;
for (DenseSet<Attribute::AttrKind>::const_iterator I = Attrs.begin(),
E = Attrs.end(); I != E; ++I) {
Attribute::AttrKind Kind = *I;
if (Kind == Attribute::Alignment)
Mask |= (Log2_32(Alignment) + 1) << 16;
else if (Kind == Attribute::StackAlignment)
Mask |= (Log2_32(StackAlignment) + 1) << 26;
else
Mask |= AttributeImpl::getAttrMask(Kind);
}
return Mask;
}
//===----------------------------------------------------------------------===//
// AttributeFuncs Function Defintions
//===----------------------------------------------------------------------===//