On Tue, Mar 17, 2020 at 3:33 PM Aditya K via Gcc <gcc@gcc.gnu.org> wrote: > > As I understand the openmp outliner is also at the tree level. A region based > outliner could be reused there. I’m not particular about the outliner being > specific to ipa-split. A GSoC project can help us get the coding+testing > done. Any pass that needs a function splitting at tree level can reuse them.
There's a SESE region outliner (it also handles SEME regions with alternate exits exiting the function), in move_sese_region_to_fn. Probably exactly what would be needed for this. It's also used by OpenMP outlining (but not IPA split as Honza said). Richard. > -Aditya > ________________________________ > From: Jakub Jelinek <ja...@redhat.com> > Sent: Monday, March 16, 2020 5:19:16 PM > To: Aditya K <hiradi...@msn.com> > Cc: Jan Hubicka <hubi...@ucw.cz>; gcc@gcc.gnu.org <gcc@gcc.gnu.org> > Subject: Re: Fw: GSoC topic: Implement hot cold splitting at GIMPLE IR level > > On Mon, Mar 16, 2020 at 11:11:14PM +0000, Aditya K via Gcc wrote: > > > > > > 2) ipa-split is very simplistic and only splits when there is no value > > > computed in header of function used in the tail. We should support > > > adding extra parameters for values computed and do more general SESE > > > outlining > > > Note that we do SESE outlining for openMP but this code is not > > > interfaced very generically to be easilly used by ipa-split. > > > > This sounds like a good GSoC project to work on. We could have a SESE/SEME > > based ipa-split, that > > could help with function splitting as well as openMP. > > No, OpenMP region outlining needs to be done where it is done currently, > ipa-split is way too late for that. > > Jakub >