Large mechanical patch.

s/ParamAttr/Attribute/g
s/PAList/AttrList/g
s/FnAttributeWithIndex/AttributeWithIndex/g
s/FnAttr/Attribute/g

This sets the stage 
- to implement function notes as function attributes and 
- to distinguish between function attributes and return value attributes.

This requires corresponding changes in llvm-gcc and clang.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56622 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Transforms/IPO/GlobalOpt.cpp b/lib/Transforms/IPO/GlobalOpt.cpp
index 0c059ff..31f2144 100644
--- a/lib/Transforms/IPO/GlobalOpt.cpp
+++ b/lib/Transforms/IPO/GlobalOpt.cpp
@@ -1627,23 +1627,23 @@
   }
 }
 
-static PAListPtr StripNest(const PAListPtr &Attrs) {
+static AttrListPtr StripNest(const AttrListPtr &Attrs) {
   for (unsigned i = 0, e = Attrs.getNumSlots(); i != e; ++i) {
-    if ((Attrs.getSlot(i).Attrs & ParamAttr::Nest) == 0)
+    if ((Attrs.getSlot(i).Attrs & Attribute::Nest) == 0)
       continue;
 
     // There can be only one.
-    return Attrs.removeAttr(Attrs.getSlot(i).Index, ParamAttr::Nest);
+    return Attrs.removeAttr(Attrs.getSlot(i).Index, Attribute::Nest);
   }
 
   return Attrs;
 }
 
 static void RemoveNestAttribute(Function *F) {
-  F->setParamAttrs(StripNest(F->getParamAttrs()));
+  F->setAttributes(StripNest(F->getAttributes()));
   for (Value::use_iterator UI = F->use_begin(), E = F->use_end(); UI != E;++UI){
     CallSite User(cast<Instruction>(*UI));
-    User.setParamAttrs(StripNest(User.getParamAttrs()));
+    User.setAttributes(StripNest(User.getAttributes()));
   }
 }
 
@@ -1670,7 +1670,7 @@
         Changed = true;
       }
 
-      if (F->getParamAttrs().hasAttrSomewhere(ParamAttr::Nest) &&
+      if (F->getAttributes().hasAttrSomewhere(Attribute::Nest) &&
           OnlyCalledDirectly(F)) {
         // The function is not used by a trampoline intrinsic, so it is safe
         // to remove the 'nest' attribute.