[PATCH] Improve scan pattern in gcc.dg/tree-ssa/loop-31.c

Jeff Law law@redhat.com
Fri Dec 6 18:18:00 GMT 2013


On 12/06/13 10:26, Kyrill Tkachov wrote:
> Hi all,
>
> The testcase gcc.dg/tree-ssa/loop-31.c started failing on arm with
> r202165. The scan dump pattern looks for "+ 2" appearing exactly once.
> With r202165 the loop header is modified from:
>
>    <bb 3>:
>    ivtmp.5_10 = (unsigned int) &a[4294967295];
>    _16 = (unsigned int) len_4(D);
>    _17 = _16 * 2;
>    _18 = (unsigned int) &a;
>    _19 = _18 + 4294967294;
>    _20 = _19 + _17;
>
>
> to:
>
>    <bb 3>:
>    ivtmp.5_10 = (unsigned int) &a[4294967295];
>    _16 = (sizetype) len_4(D);
>    _17 = _16 + 2147483647;  <<<<  "+ 2" will match here.
>    _18 = _17 * 2;
>    _19 = &a + _18;
>    _20 = (unsigned int) _19;
>
>
> Since the strength reduction in the loop itself that this testcase is
> testing is unaffected, this patch just updates the pattern to be "+ 2;"
> to match the induction variable increment: ivtmp.5_11 = ivtmp.5_1 + 2;
>
> Now the testcase passes on arm.
>
> Ok for trunk?
>
> Thanks,
> Kyrill
>
> 2013-12-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
>
>      * gcc.dg/tree-ssa/loop-31.c: Update scan pattern.
OK.

Thanks,
Jeff



More information about the Gcc-patches mailing list