In this revision:
- Added descriptions for the GVN object.
- The original comment says a "good summary of algorithm implemented by this GVN object" is required, but I am not sure how deep to get into this description. Thus, the description I added focused on the work done and relationships among methods.
- Moved the code assigning new value number into a new method to improve code tidiness.
- Since a if statement before a line deleted guaranteed that StoreOffset + StoreSize >= LoadOffset + LoadSize, it is guaranteed that StoreOffset + StoreSize > LoadOffset so the being removed in this revision might be redundant.
- Fix typos and spaces.
I think this comment would do better in the cpp file, closer to the implementation.