Found while debugging a partial inliner crash.
As a follow up, I'd like to make CodeExtractor always requiring a DominatorTree (as, it seems, pretty much every consumer pass one anyway). As you're doing some work on the partial inliner, I wanted to make sure you're OK with these changes before submitting, hence this review thread.
Details
Diff Detail
- Repository
- rL LLVM
Event Timeline
Unfortunately, once I start playing with it, I hit this crash and I started debugging, so I didn't had yet time to put at different places in the pipeline.
You have already tried some configurations? Aside, I noticed partial inlining isn't using BB frequency informations (which I found odd, but probably it's because nobody cared).
I imagine at least a simple heuristic where you split functions comparing as GCC does, IIRC (or at least, used to do at some point).
There was some initial work on this, but, alas, it's unfinished https://reviews.llvm.org/D22744
s/comparing/looking at the frequencies of the BBs compared to the frequency of the entry block/
I mean https://gcc.gnu.org/ml/gcc-patches/2010-06/msg02143.html
There was some initial work on this, but, alas, it's unfinished https://reviews.llvm.org/D22744