From abb91f0ba1e7b43d41e0b5f6668249d13556303f Mon Sep 17 00:00:00 2001 From: dorit Date: Tue, 29 Mar 2005 16:10:22 +0000 Subject: * tree-ssanames.c (duplicate_ssa_name_ptr_info): New function. (duplicate_ssa_name): Call duplicate_ssa_name_ptr_info. * tree-vect-analyze.c (vect_object_analysis): additional parm pass back a "struct ptr_info_def *" with the points-to info. (vect_analyze_data_refs): set the STMT_VINFO_PTR_INFO for the statement using info returned from vect_object_analysis. * tree-vect-transform.c (update_vuses_to_preheader): New function. (vect_create_data_ref_ptr): Remove updates to vars_to_rename for virtual uses and defs when creating a replacement vector reference. Call duplicate_ssa_name_ptr_info to define points-to info for vector pointer replacement using STMT_VINFO_PTR_INFO. (vectorizable_store): copy_virtual_operands and update definition statements. (vectorizable_load): copy_virtual_operands. Remove call to mark_call_clobbered_vars_to_rename for call to "const" builtin. * tree-vectorizer.c (vectorize_loops): Remove calls to rewrite_into_ssa and bitmap_clear (vars_to_rename). (new_stmt_vec_info): initialize STMT_VINFO_PTR_INFO for stmt. * tree-vectorizer.h (_stmt_vec_info): add field ptr_info and define macro STMT_VINFO_PTR_INFO for use in accessing. * tree.h add export of duplicate_ssa_name_ptr_info. * rs6000.c (altivec_init_builtins): Declare builtin function __builtin_altivec_mask_for_load to be "const". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@97164 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/tree-vectorizer.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'gcc/tree-vectorizer.h') diff --git a/gcc/tree-vectorizer.h b/gcc/tree-vectorizer.h index e32eed2364a..dee7a4ebc54 100644 --- a/gcc/tree-vectorizer.h +++ b/gcc/tree-vectorizer.h @@ -178,6 +178,7 @@ typedef struct _stmt_vec_info { /* Aliasing information. */ tree memtag; + struct ptr_info_def *ptr_info; subvar_t subvars; /** The following fields are used to store the information about @@ -220,7 +221,8 @@ typedef struct _stmt_vec_info { #define STMT_VINFO_VEC_STMT(S) (S)->vectorized_stmt #define STMT_VINFO_DATA_REF(S) (S)->data_ref_info #define STMT_VINFO_MEMTAG(S) (S)->memtag -#define STMT_VINFO_SUBVARS(S) (S)->subvars +#define STMT_VINFO_PTR_INFO(S) (S)->ptr_info +#define STMT_VINFO_SUBVARS(S) (S)->subvars #define STMT_VINFO_VECT_DR_BASE_ADDRESS(S)(S)->base_address #define STMT_VINFO_VECT_INIT_OFFSET(S) (S)->initial_offset #define STMT_VINFO_VECT_STEP(S) (S)->step -- cgit v1.2.3