On Mon, Aug 4, 2014 at 4:13 PM, Prathamesh Kulkarni
<[email protected]> wrote:
> Added patterns in associate_pointerplus and associate_pointerplus_diff.
>
> * genmatch.c (capture_max): Change value to 6.
> (match-plusminus.pd): Add new patterns.
>
> [gcc/testsuite/gcc.dg/tree-ssa]
> * match-plusminus.c (plusminus_9): New test-case.
Any reason you match a conversion for associate_pointerplus?
associate_pointerplus_diff misses to match that ptr1 == ptr1. I suggest
to write it as
/* associate_pointerplus_diff: ptr1 p+ (ptr2 - ptr1) -> ptr2 */
(match_and_simplify
(pointer_plus @0
(convert (minus (convert @1)
(convert @0))))
I have applied the patch with the two parts fixed.
Thanks,
Richard.
>
> Thanks,
> Prathamesh