<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Oct 20, 2009, at 3:10 PM, Devang Patel wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div><blockquote type="cite"><div><blockquote type="cite"><br class="Apple-interchange-newline">Metadata used by another metadata is counted as regular uses. Metadata<br></blockquote><blockquote type="cite">used by non-metadata values is not a normal use (it is invisible to<br></blockquote><blockquote type="cite">the non-metadata value). This is why the hierarchy is based on User<br></blockquote><blockquote type="cite">and operand list is only counting metadata uses.<br></blockquote><br>Ok, I see now that you're doing this.  But why? :)  What capability does this provide?  Is there another way to get it?  This capability costs a lot of complexity, memory and compile time.<font class="Apple-style-span"><font class="Apple-style-span" color="#144FAE"><br></font></font></div></blockquote></div><div><br></div><div>This may be useful to reduce memory pressure by allowing metadata user to delete MDNode and its MDNode users. After stumbling couple of times to get this, I am also wondering whether this is worth it or not or is this the right approach. </div><div><br></div><div>MDNodes are uniqued, just like Constant. However Constants become zoombie if its use count is reduced to zero. This may be too expensive for metadata because of possibility of high volume of metadata in the IR due to various reasons.</div></span></blockquote><br></div><div>I'm not convinced :) , what "various reasons" would cause this?  Again, we have a lot of complexity to support a use case that isn't clear.</div><div><br></div><div>-Chris</div></body></html>