[LLVMdev] [GSoC 2014] Using LLVM as a code-generation backend forValgrind

Nuno Lopes nunoplopes at sapo.pt
Tue Feb 25 14:25:48 PST 2014


Hi,

I did some work in libVEX a few years ago.
AFAIR, the gains from improved code generation in libVEX are very hard to be 
noticeable, and they may even increase the overall run-time since the 
performance improvement in the code quality may not payoff the extra time 
you spend in analysis (well, that's probably true for every JIT compiler).
Therefore, and since an LLVM JIT would significantly increase the run-time 
of libVEX's code gen, I think this probably only makes sense for hot super 
basic blocks. Most BBs are irrelevant. libVEX doesn't have a profiling 
infrastructure to pin-point hot BBs, AFAIR, though.
One of valgrind's weaknesses is SIMD code. For example, openssl code under 
valgrind takes forever to execute.  LLVM could potentially help there since 
it now has (two) BB vectorizers.

I'm sure the (very friendly) Valgrind developers can give you a few more 
hints (and correct me if I'm wrong).
I'm clueless about this year's GSoC.

Nuno

----- Original Message ----- 
From: "Denis Steckelmacher" <steckdenis at yahoo.fr>
To: <valgrind-developers at lists.sourceforge.net>; <llvmdev at cs.uiuc.edu>
Sent: Monday, February 24, 2014 6:51 PM
Subject: [LLVMdev] [GSoC 2014] Using LLVM as a code-generation backend 
forValgrind


> Hi,
>
> 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.
>
> 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) ?
>
> 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?
>
> 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.
>
> Denis Steckelmacher
>
> [1] : http://llvm.org/OpenProjects.html#misc_new
> [2] : http://steckdenis.be/page-projects.html
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev 




More information about the llvm-dev mailing list