Use bitcode files for LLVM IR instead of human-readable
Currently, we use human-readable LLVM IR files (having the .ll extension) in our snapshots. While this is great for debugging, it makes the snapshots unnecessarily large.
We should move to using binary bitcode representation (.bc) instead which should reduce the snapshot size at least three times. When we need to debug something, it is possible to use llvm-dis to convert binary files to human-readable.
I'd like to be assignoed to this issue.
While working on something else I have discovered, there are other places in DiffKemp where we use regex for searching if LLVM module contains certain symbols. Except the utility function get_functions_from_llvm, there are also some methods in LLVMModule class like has_function, has_global, get_included_sources and maybe more. So these methods would need to be also updated.