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] |
The vectorizer currently requires a call to rewrite_into_ssa to rename the virtual references associated with array element references that are replaced by vector references. This patch eliminates the need for the renaming. Vector loads in most cases use the same VUSE SSA_NAME as in the array element load they replace. Vector stores use the same V_MAY_DEF as the array element store they replace with an update to the defining statement. Tested on ppc No differences in make check or in SPEC. OK for autovect branch? Keith. Changelog: * tree-vectorizer.c (update_vuses_to_preheader): new, fixup VUSEs for loads added to loop preheader block. (vect_create_data_ref_ptr): remove code which sets the bitmap vars_to_rename (vectorizable_store): call copy_virtual_operands to copy V_MAY_DEFs from array element store to vector store and then update the statements defining the virtual SSA_NAMES. (vectorizable_load): call copy_virtual_operands to copy VUSEs from array element load to vector load. Call update_vuses_to_preheader for loads inserted into loop preheader block. (vect_do_peeling_for_alignment): add need_loop_closed_rewrite parm. (vect_transform_loop): add need_loop_closed_rewrite_parm. (vectorize_loops): eliminate call to rewrite_into_ssa, only call rewrite_into_loop_closed_ssa if tree_duplicate_loop_to_edge has been called in vect_do_peeling_for_alignment or vect_transform_loop. *rs6000.c(altivect_init_builtins): add the "const" attribute to __builtin_altivec_mask_for_store and __builtin_altivec_mask_for_load. 123456789012356789012345678901234567890123456789012345678901234567890
Attachment:
vect.11-29.diff
Description: Binary data
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |