This repo contains a toy interval (static) analyzer targeting the LLVM IR.
$ curl -sSL https://get.haskellstack.org/ | sh
$ brew install llvm-hs/llvm/llvm-9
$ apt-get install llvm-9-dev
$ stack install llvm-hs optparse-applicative ieee754
$ stack ghc main.hs
$ ./Main -i {your input .ll file}
- Top-down interprocedural analysis
- Extending domain to include access paths
.ll
files compiled with Clang 12 emits a parse error. Make sure your Clang version is equal to or below 11.