OSDN Git Service

Remove AttrBuilder::Raw().
authorBill Wendling <isanbard@gmail.com>
Sat, 2 Feb 2013 00:52:44 +0000 (00:52 +0000)
committerBill Wendling <isanbard@gmail.com>
Sat, 2 Feb 2013 00:52:44 +0000 (00:52 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174251 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/IR/Attributes.h
lib/IR/Attributes.cpp

index ad3f627..c5b5a47 100644 (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 {
index d585843..3b4ece9 100644 (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
 //===----------------------------------------------------------------------===//