[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