A vector of separate hashes for each basic block, sorted by their value. This will provide basic-block based matching, while ignoring basic block order changes. We should have a couple of versions for this, one hashing all data and another hashing only the instruction's opcode.