-
Diff two IR files and highlight the nontrivial differences
- Ignore temporary variable naming differences
- Ignore reordering of basic blocks
- Other differences not related to the semantics
-
Find the cause (transforms) of any performance change
-
Use the differences to predict performance change
-
Use performane change to determine the necessity of a code change (critic and remedy)
- llvm-diff
- llvm-canon (under development)
- Update test checks script
- Remarks and opt-viewer
- Try all the existing ways using the motivating example from Rust project and see what is missing
- Use PDG/CFG to facilitate the diff
- Use CPF outside of automatic parallelization