[llvm-commits] [llvm] r173600 - Use the AttributeSet instead of AttributeWithIndex.

Bill Wendling isanbard at gmail.com
Sat Jan 26 17:44:34 PST 2013


Author: void
Date: Sat Jan 26 19:44:34 2013
New Revision: 173600

URL: http://llvm.org/viewvc/llvm-project?rev=173600&view=rev
Log:
Use the AttributeSet instead of AttributeWithIndex.

In the future, AttributeWithIndex won't be used anymore. Besides, it exposes the
internals of the AttributeSet to outside users, which isn't goodness.

Modified:
    llvm/trunk/lib/Transforms/IPO/DeadArgumentElimination.cpp

Modified: llvm/trunk/lib/Transforms/IPO/DeadArgumentElimination.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/IPO/DeadArgumentElimination.cpp?rev=173600&r1=173599&r2=173600&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/IPO/DeadArgumentElimination.cpp (original)
+++ llvm/trunk/lib/Transforms/IPO/DeadArgumentElimination.cpp Sat Jan 26 19:44:34 2013
@@ -277,11 +277,8 @@ bool DAE::DeleteDeadVarargs(Function &Fn
       for (unsigned i = 0; PAL.getSlotIndex(i) <= NumArgs; ++i)
         AttributesVec.push_back(PAL.getSlotAttributes(i));
       if (PAL.hasAttributes(AttributeSet::FunctionIndex))
-        AttributesVec.push_back(
-          AttributeSet::get(Fn.getContext(),
-                            AttributeWithIndex::get(Fn.getContext(),
-                                                    AttributeSet::FunctionIndex,
-                                                    PAL.getFnAttributes())));
+        AttributesVec.push_back(AttributeSet::get(Fn.getContext(),
+                                                  PAL.getFnAttributes()));
       PAL = AttributeSet::get(Fn.getContext(), AttributesVec);
     }
 
@@ -699,7 +696,7 @@ bool DAE::RemoveDeadStuffFromFunction(Fu
   std::vector<Type*> Params;
 
   // Set up to build a new list of parameter attributes.
-  SmallVector<AttributeWithIndex, 8> AttributesVec;
+  SmallVector<AttributeSet, 8> AttributesVec;
   const AttributeSet &PAL = F->getAttributes();
 
   // Find out the new return value.
@@ -774,9 +771,7 @@ bool DAE::RemoveDeadStuffFromFunction(Fu
            "Return attributes no longer compatible?");
 
   if (RAttrs.hasAttributes(AttributeSet::ReturnIndex))
-    AttributesVec.push_back(AttributeWithIndex::get(NRetTy->getContext(),
-                                                    AttributeSet::ReturnIndex,
-                                                    RAttrs));
+    AttributesVec.push_back(AttributeSet::get(NRetTy->getContext(), RAttrs));
 
   // Remember which arguments are still alive.
   SmallVector<bool, 10> ArgAlive(FTy->getNumParams(), false);
@@ -794,10 +789,9 @@ bool DAE::RemoveDeadStuffFromFunction(Fu
       // Get the original parameter attributes (skipping the first one, that is
       // for the return value.
       if (PAL.hasAttributes(i + 1)) {
+        AttrBuilder B(PAL, i + 1);
         AttributesVec.
-          push_back(AttributeWithIndex::get(F->getContext(), i + 1,
-                                            PAL.getParamAttributes(i + 1)));
-        AttributesVec.back().Index = Params.size();
+          push_back(AttributeSet::get(F->getContext(), Params.size(), B));
       }
     } else {
       ++NumArgumentsEliminated;
@@ -807,9 +801,8 @@ bool DAE::RemoveDeadStuffFromFunction(Fu
   }
 
   if (PAL.hasAttributes(AttributeSet::FunctionIndex))
-    AttributesVec.push_back(AttributeWithIndex::get(F->getContext(),
-                                                    AttributeSet::FunctionIndex,
-                                                    PAL.getFnAttributes()));
+    AttributesVec.push_back(AttributeSet::get(F->getContext(),
+                                              PAL.getFnAttributes()));
 
   // Reconstruct the AttributesList based on the vector we constructed.
   AttributeSet NewPAL = AttributeSet::get(F->getContext(), AttributesVec);
@@ -850,9 +843,7 @@ bool DAE::RemoveDeadStuffFromFunction(Fu
                         AttrBuilder(RAttrs, AttributeSet::ReturnIndex).
       removeAttributes(AttributeFuncs::typeIncompatible(NF->getReturnType())));
     if (RAttrs.hasAttributes(AttributeSet::ReturnIndex))
-      AttributesVec.push_back(AttributeWithIndex::get(NF->getContext(),
-                                                      AttributeSet::ReturnIndex,
-                                                      RAttrs));
+      AttributesVec.push_back(AttributeSet::get(NF->getContext(), RAttrs));
 
     // Declare these outside of the loops, so we can reuse them for the second
     // loop, which loops the varargs.
@@ -865,10 +856,9 @@ bool DAE::RemoveDeadStuffFromFunction(Fu
         Args.push_back(*I);
         // Get original parameter attributes, but skip return attributes.
         if (CallPAL.hasAttributes(i + 1)) {
+          AttrBuilder B(CallPAL, i + 1);
           AttributesVec.
-            push_back(AttributeWithIndex::get(F->getContext(), i + 1,
-                                            CallPAL.getParamAttributes(i + 1)));
-          AttributesVec.back().Index = Args.size();
+            push_back(AttributeSet::get(F->getContext(), Args.size(), B));
         }
       }
 
@@ -876,17 +866,15 @@ bool DAE::RemoveDeadStuffFromFunction(Fu
     for (CallSite::arg_iterator E = CS.arg_end(); I != E; ++I, ++i) {
       Args.push_back(*I);
       if (CallPAL.hasAttributes(i + 1)) {
+        AttrBuilder B(CallPAL, i + 1);
         AttributesVec.
-          push_back(AttributeWithIndex::get(F->getContext(), i + 1,
-                                            CallPAL.getParamAttributes(i + 1)));
-        AttributesVec.back().Index = Args.size();
+          push_back(AttributeSet::get(F->getContext(), Args.size(), B));
       }
     }
 
     if (CallPAL.hasAttributes(AttributeSet::FunctionIndex))
-      AttributesVec.push_back(AttributeWithIndex::get(Call->getContext(),
-                                                      AttributeSet::FunctionIndex,
-                                                      CallPAL.getFnAttributes()));
+      AttributesVec.push_back(AttributeSet::get(Call->getContext(),
+                                                CallPAL.getFnAttributes()));
 
     // Reconstruct the AttributesList based on the vector we constructed.
     AttributeSet NewCallPAL = AttributeSet::get(F->getContext(), AttributesVec);





More information about the llvm-commits mailing list