[llvm-dev] Commit module to Git after each Pass
Philip Reames via llvm-dev
llvm-dev at lists.llvm.org
Wed Mar 14 13:51:07 PDT 2018
This is interesting, and might be useful. I don't know that this is
broadly useful enough for upstream inclusion, but if you could post this
to github somewhere, I might play with it.
There might also be room to factor out common functionality. We've also
run into the need to print whole-module instead of containing construct
(i.e. this loop). If we added upstream support for something along the
lines of -print-module-after-all, building the git history could easily
be done as a post processing step.
Philip
On 03/06/2018 10:43 AM, Alexandre Isoard via llvm-dev wrote:
> Hello,
>
> 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 feature?
>
> --
> *Alexandre Isoard*
>
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180314/40d81d8d/attachment.html>
More information about the llvm-dev
mailing list