[PATCH] D38154: [PassManager] Run global opts after the inliner
Davide Italiano via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Oct 2 23:21:30 PDT 2017
davide added a comment.
I'll give it a whirl tomorrow.
FWIW, I share Chandler's concerns about the cost of running LNT vs having something hooked in the build system.
I think it's really valuable (and I used it in the past) but it's a little too much for everyday's use [at least for my workflow].
I use it once every 2-3 months, and then I leave it aside, and I forget how to set up (so I have to read the doc again, or ask around, as I did this time :)
That said:
IIRC at some point I and Sean were able to just type `make` and get a JSON file spit out (I'll try that again tomorrow).
The only feature missing was that of having a lit-like set of checks to make sure your changes didn't screw up compile time.
e.g.
ninja check-perf-baseline -> this saves the baseline somewhere
git apply myuberpatch.diff
ninja clang
ninja check-perf -> this now compares the new run with the baseline and errors out in case size/compile time blows out [you can probably imagine having the tolerance threshold as a input]
ninja wipe-perf-cache -> now this wipes out the baseline
Maybe I'm the only one thinking this is a better workflow for everyday's development, but the rationale behind my claim is that this almost mirrors what people do before committing a change anyway, so, running two commands on top shouldn't be a big deal.
https://reviews.llvm.org/D38154
More information about the llvm-commits
mailing list