[llvm-dev] Hash of a module

Russell Wallace via llvm-dev llvm-dev at lists.llvm.org
Sun Dec 20 04:43:03 PST 2015

I want to run a bunch of optimizations, iteratively, that is keep running
until things stop changing (to make sure all optimization opportunities are
taken). As far as I know, there is no way to copy a module or compare
modules by value, so it occurs to me that a practical solution might be to
take the hash code of the module and see if that changes.

A problem is that hash algorithms are designed to work on streams of bytes,
not compound objects.

First attempt at a solution: iterate through all instructions in all
functions and hash the instruction kinds. I can think of some possible
changes that would fail to be captured by that.

Is there any already known solution?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20151220/33d8506b/attachment.html>

More information about the llvm-dev mailing list