[llvm-commits] [llvm] r90512 - /llvm/trunk/lib/VMCore/AsmWriter.cpp

Victor Hernandez vhernandez at apple.com
Fri Dec 4 12:28:27 PST 2009


I fixed this in r 90581.

Victor

On Dec 3, 2009, at 5:37 PM, Devang Patel wrote:

> Hi Victor,
> On Dec 3, 2009, at 5:35 PM, Victor Hernandez wrote:
> 
>> Author: hernande
>> Date: Thu Dec  3 19:35:02 2009
>> New Revision: 90512
>> 
>> URL: http://llvm.org/viewvc/llvm-project?rev=90512&view=rev
>> Log:
>> Teach AsmWriter to write inline (not via a global metadata slot) metadata that contains an instruction
>> 
>> Modified:
>>   llvm/trunk/lib/VMCore/AsmWriter.cpp
>> 
>> Modified: llvm/trunk/lib/VMCore/AsmWriter.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/VMCore/AsmWriter.cpp?rev=90512&r1=90511&r2=90512&view=diff
>> 
>> ==============================================================================
>> --- llvm/trunk/lib/VMCore/AsmWriter.cpp (original)
>> +++ llvm/trunk/lib/VMCore/AsmWriter.cpp Thu Dec  3 19:35:02 2009
>> @@ -695,8 +695,13 @@
>>          !I->hasName())
>>        CreateFunctionSlot(I);
>>      for (unsigned i = 0, e = I->getNumOperands(); i != e; ++i)
>> -        if (MDNode *N = dyn_cast_or_null<MDNode>(I->getOperand(i)))
>> +        if (MDNode *N = dyn_cast_or_null<MDNode>(I->getOperand(i))) {
>> +          // Create a metadata slot only if N contains no instructions.
>> +          for (unsigned n = 0, e = N->getNumElements(); n != e; ++n)
>> +            if (isa<Instruction>(N->getElement(n)))
>> +              continue;
>>          CreateMetadataSlot(N);
>> +        }
>> 
>>      // Process metadata attached with this instruction.
>>      MDs.clear();
> 
> There are other places where CreateMetadataSlot() is used. Please move this check in side CreateMetadataSlot().
> -
> Devang





More information about the llvm-commits mailing list