diff mbox

[TEST] Rectify test case gcc.dg/tree-ssa/ivopt_mult_4.c

Message ID CAHFci2-tH+zMGzG7WCyiHUGkMrOgenjcfj06CAFqZ0VMf+m+=w@mail.gmail.com
State New
Headers show

Commit Message

Bin.Cheng May 31, 2017, 12:43 p.m. UTC
On Fri, May 26, 2017 at 12:49 PM, Richard Biener
<richard.guenther@gmail.com> wrote:
> On Thu, May 25, 2017 at 8:00 PM, Bin Cheng <Bin.Cheng@arm.com> wrote:
>> Hi,
>> I believe this tests has been wrongly modified previously.  It is to test that the exit check on
>> pointer shouldn't be replaced by integer IV.  Somehow GCC starts replacing the check on
>> integer IV with pointer IV.  It's valid, though inefficient.  And somehow we starting checking
>> this iv replacement.   This patch rectifies it by specifically checking the check on pointer
>> shouldn't be replaced.
>
> So maybe it should then test that the pointer test prevails?  Or
> rather that it doesn't replace
> any exit test?  If 'p' changes for '_2' for unrelated reasons the
> pattern will be not testing what
> it is supposed to test...
Thanks for reviewing, I updated patch testing if condition on p_limit2
still exists before expanding.  Is it OK?

Thanks,
bin
>
> Richard.
>
>> Bootstrap and test in series on x86_64.  Is it OK?
>> Thanks,
>> bin
>> gcc/testsuite/ChangeLog
>> 2017-05-11  Bin Cheng  <bin.cheng@arm.com>
>>
>>         * gcc.dg/tree-ssa/ivopt_mult_4.c: Explicitly check comparison
>>         on pointer should not be replaced.

Comments

Richard Biener May 31, 2017, 1:32 p.m. UTC | #1
On Wed, May 31, 2017 at 2:43 PM, Bin.Cheng <amker.cheng@gmail.com> wrote:
> On Fri, May 26, 2017 at 12:49 PM, Richard Biener
> <richard.guenther@gmail.com> wrote:
>> On Thu, May 25, 2017 at 8:00 PM, Bin Cheng <Bin.Cheng@arm.com> wrote:
>>> Hi,
>>> I believe this tests has been wrongly modified previously.  It is to test that the exit check on
>>> pointer shouldn't be replaced by integer IV.  Somehow GCC starts replacing the check on
>>> integer IV with pointer IV.  It's valid, though inefficient.  And somehow we starting checking
>>> this iv replacement.   This patch rectifies it by specifically checking the check on pointer
>>> shouldn't be replaced.
>>
>> So maybe it should then test that the pointer test prevails?  Or
>> rather that it doesn't replace
>> any exit test?  If 'p' changes for '_2' for unrelated reasons the
>> pattern will be not testing what
>> it is supposed to test...
> Thanks for reviewing, I updated patch testing if condition on p_limit2
> still exists before expanding.  Is it OK?

Ok.

Richard.

> Thanks,
> bin
>>
>> Richard.
>>
>>> Bootstrap and test in series on x86_64.  Is it OK?
>>> Thanks,
>>> bin
>>> gcc/testsuite/ChangeLog
>>> 2017-05-11  Bin Cheng  <bin.cheng@arm.com>
>>>
>>>         * gcc.dg/tree-ssa/ivopt_mult_4.c: Explicitly check comparison
>>>         on pointer should not be replaced.
diff mbox

Patch

diff --git a/gcc/testsuite/gcc.dg/tree-ssa/ivopt_mult_4.c b/gcc/testsuite/gcc.dg/tree-ssa/ivopt_mult_4.c
index effb052..e69e416 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/ivopt_mult_4.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/ivopt_mult_4.c
@@ -1,6 +1,6 @@ 
 
 /* { dg-do compile { target {{ i?86-*-* x86_64-*-* } && lp64 } } } */
-/* { dg-options "-O2 -m64 -fdump-tree-ivopts-details" } */
+/* { dg-options "-O2 -m64 -fdump-tree-optimized" } */
 
 /* iv i's step 16 so its period is smaller than the max iterations
  * i.e. replacing if (p2 > p_limit2) with testing of i may result in
@@ -21,4 +21,4 @@  long foo(long* p, long* p2, int N1, int N2)
   return s;
 }
 
-/* { dg-final { scan-tree-dump "Replacing exit test" "ivopts"} } */
+/* { dg-final { scan-tree-dump "if \\(.*p_limit2.*\\)" "optimized"} } */