[PATCH] D29240: IR: Consider two DISubprograms to be odr-equal if they have the same template parameters.

Peter Collingbourne via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 3 15:55:08 PST 2017


On Fri, Feb 3, 2017 at 3:34 PM, Duncan P. N. Exon Smith <
dexonsmith at apple.com> wrote:

> I spent some more time on this and I understand the failure.
>
> I'm really uncomfortable with the fix, though.  It seems partial -- it
> fixes the particular crash you found, but couldn't this happen with other
> fields in DISubprogram?
>

Maybe -- I guess that's what I was alluding to in my commit message. Do you
think anything could break if I just remove the MDNodeSubsetEqualImpl
specialization of DISubprogram?

Also, where does the ValueMapper run in this opt invocation?  Is that what
> -run-twice does?
>

Yes, -run-twice causes us to clone the module, which uses ValueMapper. See
http://llvm-cs.pcc.me.uk/tools/opt/opt.cpp#719

Thanks,
-- 
-- 
Peter
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170203/9955b132/attachment.html>


More information about the llvm-commits mailing list