This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[patch][autovect]Turn off vectorizer loop versioning when Os option


With this patch loop versioning by the vectorizer is turned off with the 
Os option.

This patch also includes a refresh of two patches that have yet to be 
committed
to the autovect branch:

[patch][autovect]Copy points-to info to help preserve the ssa form
http://gcc.gnu.org/ml/gcc-patches/2005-03/msg02426.html

[patch][autovect]Add option ftree-vect-loop-version
http://gcc.gnu.org/ml/gcc-patches/2005-03/msg01720.html

The new code for the Os option is a check for optimize_size in
tree-vect-analyze.c and documentation that Os disables
free-vect-loop-version in doc/invoke.texi.

bootstraped and tested on ppc
make check no new failures
SPEC no new failures (only galgel fails)

OK for autovect branch?

Keith

Changelog:

      2005-04-2  Keith Besaw  <kbesaw@us.ibm.com>

      * common.opt: add the ftree-vect-loop-version option
      and the flag flag_tree_vect_loop_version initialized to 1.
      * tree-data-ref.c (init_data_ref): New parm with points-to
      info (type ptr_info_def *) used to set DR_POINTSTO_INFO
      for the new data reference.
      (analyze_array): init DR_POINTSTO_INFO to NULL.
      (analyze_indirect_ref): extract points-to info when base
      is an SSA_NAME and passes it to init_data_ref.
      (object_analysis): move DR_POINTSTO_INFO to final data ref.
      (create_data_ref): print DR_POINTSTO_INFO to dump_file.
      * tree-data-ref.h (struct data_reference): add field
      pointsto_info and extraction macro DR_POINTSTO_INFO.
      * tree-ssanames.c (duplicate_ssa_name): Replace common
      code with call to duplicate_ssa_name_ptr_info.
      (duplicate_ssa_name_ptr_info): New.
      duplicates points-to info into a new SSA_NAME.
      * tree-vect-analyze.c (vect_enhance_data_refs_alignment):
      Add checks of flag_tree_vect_loop_version and optimize_size
      to control lop versioning.
      * tree-vect-transform.c (vect_create_data_ref_ptr): use
      DR_POINTSTO_INFO from scalar data ref to define vector
      pointer SSA_NAME replacement.
      * tree.h (duplicate_ssa_name_ptr_info): declare extern.
      * invoke.texi: Add documentation for
      ftree-vect-loop-version.

testsuite/Changelog:

      * gcc.dg/vect/vect-95a.c

Patch:


 

Attachment: vect.4-1a.diff
Description: Binary data

Attachment: vect-95a.c
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]