llvm-analysis-0.3.0: A Haskell library for analyzing LLVM bitcode

Safe HaskellNone




This module implements a trivial points-to analysis that is intended only for fast conservative callgraph construction. All function pointers can point to all functions with compatible types.

Other pointers are considered to alias if they are of the same type. The pointsTo function only returns empty sets for non-function pointers.



data TrivialFunction Source

The result of the TrivialFunction points-to analysis. It is an instance of the PointsToAnalysis typeclass and is intended to be queried through that interface.

Again, note that this analysis is not precise (just fast) and does not provide points-to sets for non-function types. It provides only type-based answers and does not respect typecasts at all.


runPointsToAnalysis :: Module -> TrivialFunctionSource

Run the points-to analysis and return its results in an opaque handle.