<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Jun 18, 2013 at 2:06 PM, Eli Bendersky <span dir="ltr"><<a href="mailto:eliben@google.com" target="_blank">eliben@google.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote"><div class="im">On Tue, Jun 18, 2013 at 12:03 PM, Sean Silva <span dir="ltr"><<a href="mailto:silvas@purdue.edu" target="_blank">silvas@purdue.edu</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Instead of a blacklist, why not a whitelist? Given the size of LangRef, you're bound to leave something out of your blacklist that needs to be there (also, future additions to LLVM IR will need to be added to the blacklist; are you sure you can catch *all* of them?). A whitelist seems much less prone to breakage or unexpected behavior.<span><font color="#888888"><div>


<div><br></div></div></font></span></div></blockquote><div><br></div></div><div>Hi Sean,</div><div><br></div><div>Which blacklist are you referring to? In all places where we specifically allow or disallow certain constructs (such as specific instructions, intrinsics, linkage modes and so on) we use a whitelisting strategy.</div>
<span class="HOEnZb"><font color="#888888">
<div><br></div></font></span></div></div></div></blockquote><div><br></div><div style>What I'm saying is that the approach to defining the format seems to be basically "the format is LLVM IR, except ...". The "except ..." is effectively a blacklist. You are starting with LLVM IR and then removing (i.e. blacklisting certain aspects)</div>
<div style><br></div><div style>-- Sean Silva</div></div></div></div>