[llvm-commits] [llvm] r109021 - in /llvm/trunk: include/llvm/Metadata.h lib/VMCore/Metadata.cpp

Devang Patel dpatel at apple.com
Wed Jul 21 11:07:30 PDT 2010


On Jul 21, 2010, at 11:01 AM, Dan Gohman wrote:

> Author: djg
> Date: Wed Jul 21 13:01:42 2010
> New Revision: 109021
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=109021&view=rev
> Log:
> Use TrackingVH instead of WeakVH for NamedMDNode's operands, since nodes
> referenced by NamedMDNodes shouldn't be deleted.

That was not required earlier. Why would you want to impose this restriction ?
One could manually delete a MDNode for whatever reason. It does not happen for the debug info case though.

> 
> /// getOperand - Return specified operand.
> MDNode *NamedMDNode::getOperand(unsigned i) const {
>   assert(i < getNumOperands() && "Invalid Operand number!");
> -  return dyn_cast_or_null<MDNode>(getNMDOps(Operands)[i]);
> +  return dyn_cast_or_null<MDNode>(&*getNMDOps(Operands)[i]);
> }

If you want to impose this restriction then or_null is unnecessary.
-
Devang



More information about the llvm-commits mailing list