<div dir="ltr">seems like it'd be a bit of a performance hit to do this - compared to just rolling the debug info version number & throwing out everything older. Is it really worth it to take that performance hit for some uncertain amount of debug info from old bitcode?</div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, May 5, 2016 at 11:11 AM, Adrian Prantl via llvm-commits <span dir="ltr"><<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">aprantl created this revision.<br>
aprantl added reviewers: joker.eph, dexonsmith.<br>
aprantl added a subscriber: llvm-commits.<br>
<br>
This patch refactors the Verifier so it can diagnose IR validation errors and debug info metadata errors separately.<br>
The motivation behind this change is that broken (or outdated) debug info can be "recovered" from by stripping the debug info.<br>
<br>
The problem I'm trying to solve with this sequence of patches is that historically we've done a really bad job at verifying debug info. We want to be able to make the verifier stricter without having to worry about breaking bitcode compatibility with existing producers. For example, we don't necessarily want IR produced by an older version of clang to be rejected by an LTO link just because of malformed debug info, and rather provide an option to strip it. Note that merely outdated (but well-formed) debug info would continue to be auto-upgraded in this scenario.<br>
<br>
rdar://problem/25818489<br>
<br>
<a href="http://reviews.llvm.org/D19986" rel="noreferrer" target="_blank">http://reviews.llvm.org/D19986</a><br>
<br>
Files:<br>
  lib/IR/Verifier.cpp<br>
<br>
<br>_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
<br></blockquote></div><br></div>