Just because sequences of instructions are similar to one another, doesn't mean they are doing the same thing.
This introduces a structural check for the IRSimilarityCandidate that compares two IRSimilarityCandidates against one another, and in each instruction creates a mapping between the operands and results, or checks that the existing mapping is valid. If this check passes, it means we have structurally similar IRSimilarityCandidates.
Tests for whether the candidates are found in unittests/Analysis/IRSimilarityIdentifierTest.cpp.