LLVM For Code Decompiling?

Written by Michael Larabel in LLVM on 14 May 2012 at 12:10 PM EDT. Add A Comment
LLVM
Asked on the developers' mailing list last week was whether LLVM could be used for a decompiler, which an independent developer is working to construct.

The short answer is: no. LLVM in its current form can't be used as a decompiler. LLVM can't currently go from a binary to higher-level representations and other forms. See the mailing list thread on the matter for those interested in the technical discussion behind LLVM decompiling.

There was though a proposal back in April for a Google Summer of Code project to support table-driven decompilation over LLVM, via this student proposal.

As far as the interesting GSoC 2012 projects, as it concerns LLVM, the GSoC-LLVM projects to be attempted are: profile-guided optimization (PGO) enhancements, support for virtual tables and RTTI with the Microsoft Visual C++ ABI, common memory-safety instrumentation and optimization passes, integrating baggy bounds checking into SAFECode, data pre-fetching transformation to LLVM Polly, and extending LLVM Polly with automatic GPGPU code generation.

Inevitably something will come to LLVM for decompiling binaries, just not yet.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week