[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