[llvm-dev] Commit module to Git after each Pass
Alexandre Isoard via llvm-dev
llvm-dev at lists.llvm.org
Tue Mar 6 10:43:32 PST 2018
I had a stupid idea recently that turned out not so stupid after all. I
wanted to be able to "see" an entire pass pipeline in action to find
unnecessary transformations and/or missed opportunities and generally
improve the debug-ability of LLVM.
So as the title suggest, I implemented an equivalent of "-print-after-all"
but instead of printing into stdout I dump into a file that get commit into
a temporary git. There are some quirks with it but it's working and is
actually awesome. For example, at first sight, I see multiple time lcssa
and instcombine cancelling each other's work.
Of course, that has a big impact on compile time when enabled, but that's
still practical (git being quite good at its job) when debugging.
There are improvement I can make, but would you guys be interested in such
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev