Author: lattner Date: Wed Jan 2 18:29:27 2008 New Revision: 45524 URL: http://llvm.org/viewvc/llvm-project?rev=45524&view=rev Log: Don't create a new ParamAttrsList (which copies the vector) just to get a profile.
Modified: llvm/trunk/include/llvm/ParameterAttributes.h llvm/trunk/lib/VMCore/ParameterAttributes.cpp Modified: llvm/trunk/include/llvm/ParameterAttributes.h URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ParameterAttributes.h?rev=45524&r1=45523&r2=45524&view=diff ============================================================================== --- llvm/trunk/include/llvm/ParameterAttributes.h (original) +++ llvm/trunk/include/llvm/ParameterAttributes.h Wed Jan 2 18:29:27 2008 @@ -266,7 +266,10 @@ /// @name Implementation Details /// @{ public: - void Profile(FoldingSetNodeID &ID) const; + void Profile(FoldingSetNodeID &ID) const { + Profile(ID, attrs); + } + static void Profile(FoldingSetNodeID &ID, const ParamAttrsVector &Attrs); void dump() const; /// @} Modified: llvm/trunk/lib/VMCore/ParameterAttributes.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/VMCore/ParameterAttributes.cpp?rev=45524&r1=45523&r2=45524&view=diff ============================================================================== --- llvm/trunk/lib/VMCore/ParameterAttributes.cpp (original) +++ llvm/trunk/lib/VMCore/ParameterAttributes.cpp Wed Jan 2 18:29:27 2008 @@ -106,9 +106,10 @@ return true; } -void ParamAttrsList::Profile(FoldingSetNodeID &ID) const { - for (unsigned i = 0; i < attrs.size(); ++i) - ID.AddInteger(unsigned(attrs[i].attrs) << 16 | unsigned(attrs[i].index)); +void ParamAttrsList::Profile(FoldingSetNodeID &ID, + const ParamAttrsVector &Attrs) { + for (unsigned i = 0; i < Attrs.size(); ++i) + ID.AddInteger(unsigned(Attrs[i].attrs) << 16 | unsigned(Attrs[i].index)); } const ParamAttrsList * @@ -127,11 +128,10 @@ #endif // Otherwise, build a key to look up the existing attributes. - ParamAttrsList key(attrVec); FoldingSetNodeID ID; - key.Profile(ID); + ParamAttrsList::Profile(ID, attrVec); void *InsertPos; - ParamAttrsList* PAL = ParamAttrsLists->FindNodeOrInsertPos(ID, InsertPos); + ParamAttrsList *PAL = ParamAttrsLists->FindNodeOrInsertPos(ID, InsertPos); // If we didn't find any existing attributes of the same shape then // create a new one and insert it. _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits