<div dir="ltr"><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 bgcolor="#FFFFFF" text="#000000"><br>
I would also argue that a key design feature of LLVM is to make
writing such passes simple, and I think LLVM accomplishes this. If
one understands how to build an efficient dynamic analysis, one can
probably handle writing the compiler passes.<br>John Criswell</div></blockquote><div><br></div><div>I disagree here.</div><div>LLVM *is* the simplest-to-use compiler infrastructure I've used,</div><div>but not having to deal with a compiler guts for prototyping ideas is still an order of magnitude simpler.</div><div>For most of the CSI use cases the users will not even need to understand anything about compilers (except for the concept of basic blocks). </div><div><br></div><div>And we should not expect CSI to be as fast and as specializable as a custom pass. </div><div>CSI's power is in the ability to attract more people to do quick-and-easy experiments.</div><div><br></div><div>--kcc </div></div></div></div>