[llvm-dev] Commit module to Git after each Pass

Jonas Paulsson via llvm-dev llvm-dev at lists.llvm.org
Fri Mar 16 00:59:15 PDT 2018


+1   Being able to look at the diffs of the dumps after passes sounds 
really nice. /Jonas


On 2018-03-14 21:51, Philip Reames via llvm-dev wrote:
>
> 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
>
>
>
> _______________________________________________
> 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/20180316/11e864d1/attachment.html>


More information about the llvm-dev mailing list