[PATCH][RFC] Recognize memcpy/memmove - fix PR53081
H.J. Lu
hjl.tools@gmail.com
Fri Jun 8 22:33:00 GMT 2012
On Tue, Jun 5, 2012 at 7:36 AM, Richard Guenther <rguenther@suse.de> wrote:
>
> This adds memcpy/memmove recognition to loop distribution (and
> cleans it up some more). Issues are similar to memset and
> not handled (and I just noticed we generate memset/memcpy even
> with -fno-builtin ...).
>
> Bootstrapped on x86_64-unknown-linux-gnu, testing in progress.
>
> Richard.
>
> 2012-06-05 Richard Guenther <rguenther@suse.de>
>
> PR tree-optimization/53081
> * tree-data-ref.h (adjacent_store_dr_p): Rename to ...
> (adjacent_dr_p): ... this and make it work for reads, too.
> * tree-loop-distribution.c (enum partition_kind): Add PKIND_MEMCPY.
> (struct partition_s): Change main_stmt to main_dr, add
> secondary_dr member.
> (build_size_arg_loc): Change to date data-reference and not
> gimplify here.
> (build_addr_arg_loc): New function split out from ...
> (generate_memset_builtin): ... here. Use it and simplify.
> (generate_memcpy_builtin): New function.
> (generate_code_for_partition): Adjust.
> (classify_partition): Streamline pattern detection. Detect
> memcpy.
> (ldist_gen): Adjust.
> (tree_loop_distribution): Adjust seed statements for memcpy
> recognition.
>
This caused:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53616
--
H.J.
More information about the Gcc-patches
mailing list