This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [graphite] Fix 464.h264 from CPU2006 runtime test
- From: Richard Guenther <rguenther at suse dot de>
- To: Sebastian Pop <sebpop at gmail dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Fri, 16 Jan 2009 10:11:57 +0100 (CET)
- Subject: Re: [graphite] Fix 464.h264 from CPU2006 runtime test
- References: <cb9d34b20901151427j26a0dc05gb825c801ca577c2f@mail.gmail.com>
On Thu, 15 Jan 2009, Sebastian Pop wrote:
> Hi,
>
> This patch fixes the h264 runtime bug. This bug was due to graphite
> executing a loop fusion without checking the dependences! Yes, loop
> fusion was code generated for two adjacent loops. The bug was that we
> inadvertently built a scheduling that asked for loop fusion:
>
> A B C
> stmt1: 0 0 0
> stmt2: 0 0 1
>
> Because the prefix "A B" is common to both stmt1 and stmt2, we were
> sequentially including "stmt1; stmt2" in the loop nest "A B".
>
> After this patch we generate the following schedule that respects the
> original loop nesting of statements:
>
> A B C
> stmt1: 0 0 0
> stmt2: 0 1 0
>
> On a side note, even if this was a bug in the static schedule info,
> the stability of Graphite's code generator on loop fusion was a nice
> surprise!
>
> The patch is under test in trunk on amd64-linux. Okay for trunk once
> regstrap passes?
Yes. Thanks,
Richard.