diffkemp icon indicating copy to clipboard operation
diffkemp copied to clipboard

Use bitcode files for LLVM IR instead of human-readable

Open viktormalik opened this issue 1 year ago • 2 comments

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.

viktormalik avatar Jul 04 '24 18:07 viktormalik

I'd like to be assignoed to this issue.

MJR009 avatar Sep 26 '24 08:09 MJR009

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.

PLukas2018 avatar Nov 02 '24 11:11 PLukas2018