LLVM For Code Decompiling?
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.
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.
Add A Comment