[llvm-commits] [llvm] r171923 - in /llvm/trunk: include/llvm/Attributes.h lib/IR/AttributeImpl.h lib/IR/Attributes.cpp

Bill Wendling isanbard at gmail.com
Wed Jan 9 01:24:59 PST 2013


Done. Thanks!

-bw

On Jan 9, 2013, at 1:19 AM, Benjamin Kramer <benny.kra at gmail.com> wrote:

> On 09.01.2013, at 01:36, Bill Wendling <isanbard at gmail.com> wrote:
> 
>> Author: void
>> Date: Tue Jan  8 18:32:08 2013
>> New Revision: 171923
>> 
>> URL: http://llvm.org/viewvc/llvm-project?rev=171923&view=rev
>> Log:
>> Add the integer value of the ConstantInt instead of the Constant* value.
>> 
>> This is causing some problems. The root cause is unknown at this time.
> 
> Don't forget to update the hash computation when inserting into the
> foldingset too. Otherwise uniquing won't work and the set will
> degenerate into a linked list. See 171624, I think it's wrong again
> now.
> 
> - Ben
>> 
>> Added:
>>  llvm/trunk/include/llvm/Attributes.h
>>    - copied, changed from r171295, llvm/trunk/include/llvm/Attributes.h
>> Modified:
>>  llvm/trunk/lib/IR/AttributeImpl.h
>>  llvm/trunk/lib/IR/Attributes.cpp
>> 
>> Copied: llvm/trunk/include/llvm/Attributes.h (from r171295, llvm/trunk/include/llvm/Attributes.h)
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Attributes.h?p2=llvm/trunk/include/llvm/Attributes.h&p1=llvm/trunk/include/llvm/Attributes.h&r1=171295&r2=171923&rev=171923&view=diff
>> ==============================================================================
>> --- llvm/trunk/include/llvm/Attributes.h (original)
>> +++ llvm/trunk/include/llvm/Attributes.h Tue Jan  8 18:32:08 2013
>> @@ -315,7 +315,7 @@
>> AttributeSet removeAttr(LLVMContext &C, unsigned Idx, Attribute Attrs) const;
>> 
>> //===--------------------------------------------------------------------===//
>> -  // Attribute List Accessors
>> +  // Attribute Set Accessors
>> //===--------------------------------------------------------------------===//
>> 
>> /// \brief The attributes for the specified index are returned.
>> @@ -365,7 +365,7 @@
>> }
>> 
>> //===--------------------------------------------------------------------===//
>> -  // Attribute List Introspection
>> +  // Attribute Set Introspection
>> //===--------------------------------------------------------------------===//
>> 
>> /// \brief Return a raw pointer that uniquely identifies this attribute list.
>> 
>> Modified: llvm/trunk/lib/IR/AttributeImpl.h
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/AttributeImpl.h?rev=171923&r1=171922&r2=171923&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/IR/AttributeImpl.h (original)
>> +++ llvm/trunk/lib/IR/AttributeImpl.h Tue Jan  8 18:32:08 2013
>> @@ -65,12 +65,7 @@
>>   Profile(ID, Data, Vals);
>> }
>> static void Profile(FoldingSetNodeID &ID, Constant *Data,
>> -                      ArrayRef<Constant*> Vals) {
>> -    ID.AddPointer(Data);
>> -    for (ArrayRef<Constant*>::iterator I = Vals.begin(), E = Vals.end();
>> -         I != E; ++I)
>> -      ID.AddPointer(*I);
>> -  }
>> +                      ArrayRef<Constant*> Vals);
>> };
>> 
>> //===----------------------------------------------------------------------===//
>> 
>> Modified: llvm/trunk/lib/IR/Attributes.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/Attributes.cpp?rev=171923&r1=171922&r2=171923&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/IR/Attributes.cpp (original)
>> +++ llvm/trunk/lib/IR/Attributes.cpp Tue Jan  8 18:32:08 2013
>> @@ -509,6 +509,14 @@
>> Vals.push_back(ConstantInt::get(Type::getInt64Ty(Context), Align));
>> }
>> 
>> +void Profile(FoldingSetNodeID &ID, Constant *Data,
>> +             ArrayRef<Constant*> Vals) {
>> +  ID.AddInteger(cast<ConstantInt>(Data)->getZExtValue());
>> +  for (ArrayRef<Constant*>::iterator I = Vals.begin(), E = Vals.end();
>> +       I != E; ++I)
>> +    ID.AddPointer(*I);
>> +}
>> +
>> //===----------------------------------------------------------------------===//
>> // AttributeSetImpl Definition
>> //===----------------------------------------------------------------------===//
>> 
>> 
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits





More information about the llvm-commits mailing list