This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] New pass to partition single function into multiple (resubmission)


Hello,

Diego -- thanks again for reviewing the patch.

Steven -- I did reply to your comments in the follow-up posting of your
email:
(http://gcc.gnu.org/ml/gcc-patches/2009-05/msg00311.html) and addressed
some of them (the ones that I agree with) in the versions of the patch
that follow the posting.

I had debated for a long time where to implement the pass and experienced
with different alternatives including moving it to the md reorg pass.
However, as Diego mentioned, I felt that the middle-end is the right
place for it as the functionally for splitting basic-blocks is already
implemented there and in particular in the bb-reorder.c file.
I am not sure how it should be integrate with the hot/cold partitioning
pass, also, IIRC when testing the hot/cold partitioning a while ago
it seemed to be quite unstable so merging with it might not be a good idea.

The partitioning pass is tested as part of the icache support for the SPU;
(using the version in the spu-4_5-branch) and I can certainly add more
testcases for it.

Thanks,
Revital

gcc-patches-owner@gcc.gnu.org wrote on 16/07/2009 00:05:48:

> Steven Bosscher <stevenb.gcc@gmail.com>
> Sent by: gcc-patches-owner@gcc.gnu.org
>
> 16/07/2009 00:05
>
> To
>
> Diego Novillo <dnovillo@google.com>
>
> cc
>
> Richard Guenther <richard.guenther@gmail.com>, Revital1
Eres/Haifa/IBM@IBMIL,
> gcc-patches@gcc.gnu.org, Jan Hubicha <jh@suse.cz>
>
> Subject
>
> Re: [PATCH] New pass to partition single function into multiple
(resubmission)
>
> On Wed, Jul 15, 2009 at 10:59 PM, Diego Novillo<dnovillo@google.com>
wrote:
> > On Wed, Jul 15, 2009 at 16:55, Richard
> > Guenther<richard.guenther@gmail.com> wrote:
> >
> >> Still feels like a hack to me that has its arms twisted too much into
the
> >> middle-end.
> >
> > Hm? ?How else would you do it? ?The transformation looks to split a
> > function into chunks that can fit in arbitrary code segments. ?The
> > middle end is where we keep the basic blocks of the function, so we
> > traverse those and ask the target to tell us where to split the
> > blocks.
> >
> > I don't see another way of implementing it. ?Doing it in md-reorg
> > seems too late as you'd need to replicate a lot of code for every
> > target that wanted to support this. ?But I have not really thought
> > about the problem at length, so perhaps I'm missing something obvious.
>
> There are just too many things that change assumptions everywhere.
> Such as the overloading of NOTE_BASIC_BLOCK, for starts.  Not of my
> (few) comments of
> http://gcc.gnu.org/ml/gcc-patches/2009-05/msg00162.html have been
> properly addressed. And there are still no test cases.
>
> This should not go into the trunk in this form, sorry.
>
> Ciao!
> Steven


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]