[llvm-commits] [llvm] r90512 - /llvm/trunk/lib/VMCore/AsmWriter.cpp
Devang Patel
dpatel at apple.com
Thu Dec 3 17:37:53 PST 2009
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