Skip to content
Static Slicer for LLVM
C++ Other
Latest commit 314e3f2 Sep 3, 2015 @jirislaby port to llvm 3.4
Signed-off-by: Jiri Slaby <>
Failed to load latest commit information.
src port to llvm 3.4 Sep 3, 2015
test port to llvm 3.4 Sep 3, 2015
.gitignore gitignore: let's ignore some more Aug 18, 2011
CMakeLists.txt test: add proper test for field-sensitive pts-to analysis Jul 25, 2013
README README: add May 13, 2013
TODO TODO: add Jan 22, 2012


LLVM slicer

This is a static slicer based on the Mark Weiser's algorithm in [1]. It is
augmented to perform an inter-procedural analysis. The initial criteria
considered here are all assert_fail function calls (which is effectively every
place where an assert is in the code).

Basically, what one needs to do to slice src.o LLVM code into dst.o is:
  $ opt -load -create-hammock-cfg -slice-inter src.o -o dst.o

Both create-hammock-cfg and slice-inter are defined in this project. If you are
having troubles with running opt, you are likely not loading the proper library.
Of course, you have to make sure that the library is in a path where dynamic
libraries are looked for (or add the path where the library is to

Bug reports
Use github for reports and pull requests, please.

Jiri Slaby <>

[1] M. Weiser. "Program slicing". Proceedings of the 5th International
Conference on Software Engineering, pages 439–449, IEEE Computer Society Press,
March 1981.
Something went wrong with that request. Please try again.