<div dir="ltr">I work on LLVM and used to work on Dr. Memory, a memory debugger similar to Valgrind's Memcheck. I think using LLVM as a Valgrind backend is probably feasible, but I highly doubt that LLVM will be able to generate code quickly enough to make it usable. It might be worthwhile as a second level JIT, but usually the major downside to DBI tools is the startup overhead, and LLVM code generation can only increase that.<div>
<br></div><div>That doesn't mean it wouldn't be a fun project, though. :)</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Feb 24, 2014 at 10:51 AM, Denis Steckelmacher <span dir="ltr"><<a href="mailto:steckdenis@yahoo.fr" target="_blank">steckdenis@yahoo.fr</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
I've seen on the LLVM's Open Projet Page [1] an idea about using LLVM to generate native code in Valgrind. For what I know, Valgrind uses libVEX to translate native instructions into a bitcode, used to add the instrumentation and then translated back to native code for execution.<br>
<br>
Valgrind and LLVM are two tools that I use nearly every day. I'm also very interested in code generation and optimization, so adding the possibility to use LLVM to generate native code in libVEX interests me very much. Is it a good idea? Could a LLVM backend bring something useful to Valgrind (for instance, faster execution or more targets supported) ?<br>
<br>
I've sent this message to the LLVM and Valgrind mailing lists because I've originally found the idea on the LLVM's website, but Valgrind is the object of the idea. By the way, does anyone already know if LLVM or Valgrind will be a mentoring organization for this year's GSoC?<br>
<br>
You can find in [2] the list of my past projects. During the GSoC 2011, I had the chance to use the Clang libraries to compile C code, and the LLVM JIT to execute it (with instrumented stdlib functions). I have also played with the LLVM C bindings to generate code when I explored some parts of Mesa.<br>
<br>
Denis Steckelmacher<br>
<br>
[1] : <a href="http://llvm.org/OpenProjects.html#misc_new" target="_blank">http://llvm.org/OpenProjects.<u></u>html#misc_new</a><br>
[2] : <a href="http://steckdenis.be/page-projects.html" target="_blank">http://steckdenis.be/page-<u></u>projects.html</a><br>
______________________________<u></u>_________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu" target="_blank">LLVMdev@cs.uiuc.edu</a> <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/<u></u>mailman/listinfo/llvmdev</a><br>
</blockquote></div><br></div>