Add a tool for diffing size remarks
This is a tool which can handle bitstream and YAML remarks. The idea here is to provide more insight into which functions changed in a benchmark when testing compiler changes. E.g. "foo got 20% bigger, so maybe we should look more closely at that." To use the tool, you can use... ``` $ llvm-remark-size-diff remarks_file_a remarks_file_b --parser=yaml|bitstream ``` ... on two remarks files containing at least instruction count remarks. This will output some data on instruction count change and also other relevant information such as stack size change from `remarks_file_a` to `remarks_file_b`. This is a bit of a WIP so I'm happy to change the format etc. Ultimately I think it'd be best to have some JSON output which could be consumed by another tool. But some base-level, greppable output is very handy to have anyway. The format I'm proposing here is ``` <files> <inc/dec in inst count> <fn name> <inst count change> <stack B change> ``` Where the files and increase/decrease are indicated like below: - `<files>` is one of `++` (file B), `--` (file A), `==` (both) - `<inc/dec in inst count>` is one of `>` (increase) or `<` (decrease) This makes it easy to grep for things like "which functions appeared in A but did not appear in B?" Or "what are all the instruction count decreases?" Differential Revision: https://reviews.llvm.org/D112940
Loading
Please sign in to comment