<div dir="ltr"><br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5"><span style="color:rgb(34,34,34)">This is kind of scary, but if we assume the verifier is strong,</span><br></div></div>
maybe not so bad.<br>
<br>
In some places, MDTuple is used like a set and nulls are<br>
unexpected.  In other places, MDTuple is used like a fixed-size<br>
array, so changing the size would be pretty unexpected (and<br>
even here, adding nullptrs might be unexpected).  It's unlikely<br>
we have proper coverage for this stuff... although making<br>
bugpoint rely on the verifier might be good motivation to add<br>
missing coverage.<br></blockquote><div><br></div><div>I particularly like the Verifier approach, because making the Verifier better</div><div>is a very worthwhile goal independent of bugpoint. I think we should consider</div><div>a backend assertion due to invalid IR that passed the Verifier a bug.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
BTW, I'd expect a list-reductions on the arrays in DICompileUnit<br>
to be efficient and fairly easy to implement.  That's independent<br>
of whether you have the last-resort pass you're suggesting though.<br></blockquote><div><br></div><div>Yep, there's various other things you can do, e.g. removing derived types and replacing</div><div>them by the underlying type. I considered doing some of that as well, but I think having</div><div>the general purpose thing in, even if takes longer to converge is very valuable.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I'd also be interested in a pass that reduced the @llvm.dbg.*<br>
intrinsics.</blockquote></div><br></div><div class="gmail_extra">Not really sure what you mean by this. Don't they get removed by the generic instruction</div><div class="gmail_extra">reducer?</div></div>