llvm-analysis

A Haskell library for analyzing LLVM bitcode

Latest on Hackage:0.3.0

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

BSD-3-Clause licensed by Tristan Ravitch
Maintained by [email protected]

A Haskell library for analyzing LLVM bitcode. To convert bitcode to the format used by this library, see the llvm-data-interop package.

This library attempts to provide some basic program analysis infrastructure and aims to scale to large bitcode files.

There are some useful tools built on top of this library available in the llvm-tools package.

Changes since 0.2.0: * LLVM 3.3 support (contributed by Patrick Hulin) * Metadata format change. Metadata type entries no longer have a MetaDWFile. Instead, file and directory names are stored directly in each MetaDW*Type. This change lets us more easily accommodate changes in LLVM 3.3 (while supporting older versions). * Under LLVM 3.3, the metaCompileUnitIsMain field of MetaDWCompileUnit is always False. This disappeared in LLVM 3.3, but removing it would be an unnecessary API break, I think.