This is an archive of the discontinued LLVM Phabricator instance.

[CodeExtractor] Remove a bunch of unneeded constructors
ClosedPublic

Authored by davide on Apr 20 2017, 11:27 AM.

Details

Summary

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.

Diff Detail

Repository
rL LLVM

Event Timeline

davide created this revision.Apr 20 2017, 11:27 AM
davidxl accepted this revision.Apr 20 2017, 11:32 AM

lgtm.

by the way, what is your PM setup for partial inlining?

This revision is now accepted and ready to land.Apr 20 2017, 11:32 AM
This revision was automatically updated to reflect the committed changes.

lgtm.

by the way, what is your PM setup for partial inlining?

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

lgtm.

by the way, what is your PM setup for partial inlining?

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).

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