LLVM For Code Decompiling?

Posted by Michael Larabel on May 14, 2012

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.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. Intel Linux OpenGL Driver Leading Over Apple OS X
  2. The Cost Of Ubuntu Disk Encryption
  3. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  4. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
Latest Linux News
  1. Linux Desktop Security Could Be A Whole Lot Better
  2. KDE 4.11 Will Be The Last Major KDE4 Workspaces Feature Release
  3. New NVIDIA Linux Driver Supports The GeForce GTX 780
  4. Chrome 28 To Offer More Speed Improvements
  5. Digia Announces "Boot To Qt" Project
  6. X.Org Libraries Hit By Round Of Security Issues
  7. Wayland's Weston Gets Output Scaling Support
  8. Raspberry Pi Gets New Wayland Weston Renderer
  9. Debian GNU/Hurd 2013 Release Brings New Packages
  10. Intel Ultrabook Performance Is Faster With Mesa 9.2
  11. Hot Relocation HDD To SSD Support For Btrfs
Latest Forum Talk
  1. Xserver 1.14 support will arrive with Catalyst...
  2. Microsoft Releases Skype For Linux 4.2, Has...
  3. X.Org Libraries Hit By Round Of Security Issues
  4. New NVIDIA Linux Driver Supports The GeForce GTX...
  5. Wayland's Weston Gets Output Scaling Support
  6. KDE 4.11 Will Be The Last Major KDE4 Workspaces...
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite