| CARVIEW |
llvm-analysis: A Haskell library for analyzing LLVM bitcode
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.
[Skip to Readme]
Modules
[Index]
- LLVM
- LLVM.Analysis
- LLVM.Analysis.AccessPath
- LLVM.Analysis.BlockReturnValue
- LLVM.Analysis.CDG
- LLVM.Analysis.CFG
- LLVM.Analysis.CallGraph
- LLVM.Analysis.CallGraphSCCTraversal
- LLVM.Analysis.ClassHierarchy
- LLVM.Analysis.Dataflow
- LLVM.Analysis.Dominance
- LLVM.Analysis.NoReturn
- LLVM.Analysis.NullPointers
- LLVM.Analysis.PointsTo
- LLVM.Analysis.ScalarEffects
- LLVM.Analysis.UsesOf
- Util
- LLVM.Analysis
Flags
Automatic Flags
| Name | Description | Default |
|---|---|---|
| debugandersenconstraints | Enable debugging output for the points-to analysis (shows constraints) | Disabled |
| debugandersengraph | Enable debugging output for the points-to analysis (shows the solved constraint graph in a window) | Disabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- llvm-analysis-0.3.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
| Versions [RSS] | 0.3.0 |
|---|---|
| Dependencies | array, base (>=4 && <5), boomerang, bytestring, containers, deepseq, directory, failure (>=0.2), fgl (>=5.4), filemanip (>=0.3.5.2), filepath, GenericPretty (>1), graphviz (>=2999.12.0.3), hashable (>=1.1.2.0), hoopl (>=3.9.0.0), HUnit, ifscs (>=0.2.0.0 && <0.3.0.0), itanium-abi (>=0.1.0.0 && <0.2.0.0), lens (>=3.8), llvm-base-types (>=0.3.0), monad-par (>=0.3.4.2), process, temporary (>=1.0), test-framework, test-framework-hunit, text (>=0.11), transformers (>=0.3), uniplate (>=1 && <2), unordered-containers, vector (>=0.9) [details] |
| Tested with | ghc ==7.6.3 |
| License | BSD-3-Clause |
| Author | Tristan Ravitch |
| Maintainer | travitch@cs.wisc.edu |
| Uploaded | by TristanRavitch at 2013-11-12T03:38:42Z |
| Category | Development |
| Distributions | |
| Reverse Dependencies | 2 direct, 0 indirect [details] |
| Downloads | 1302 total (5 in the last 30 days) |
| Rating | (no votes yet) [estimated by Bayesian average] |
| Your Rating |
|
| Status | Docs available [build log] Successful builds reported [all 3 reports] |
Readme for llvm-analysis-0.3.0
[back to package description]Introduction
A Haskell library for analyzing LLVM bitcode. To convert bitcode the format used by this library, see the llvm-data-interop package and the haddocks for the LLVM.Analysis module.
This library attempts to provide some basic program analysis infrastructure and aims to scale to large bitcode files. Additional analysis tools are welcome.
A note on testing
Some tests in the test suite necessarily rely on names generated by the frontend used to generate bitcode. These internal names are not stable and change with each frontend release. The test suite currently runs with clang 3.2.