[Bug tree-optimization/18179] vectorizer: wrong alignment/step/initial-address computed for struct accesses
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-01-06 00:43 --- Fixed. -- What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED Target Milestone|--- |4.0.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18179
[Bug tree-optimization/18179] vectorizer: wrong alignment/step/initial-address computed for struct accesses
--- Additional Comments From aj at gcc dot gnu dot org 2005-01-01 09:49 --- I see the following new failures on Linux/x86-64 since Ira's patch went in: gcc.dg/tree-ssa/ifc-20040816-1.c (test for excess errors) gcc.dg/vect/pr18400.c (test for excess errors) gcc.dg/vect/pr18400.c scan-tree-dump-times vectorized 1 loops 1 gcc.dg/vect/vect-1.c (test for excess errors) gcc.dg/vect/vect-1.c scan-tree-dump-times vectorized 3 loops 1 gcc.dg/vect/vect-10.c (test for excess errors) gcc.dg/vect/vect-10.c scan-tree-dump-times vectorized 0 loops 1 gcc.dg/vect/vect-11.c (test for excess errors) gcc.dg/vect/vect-12.c (test for excess errors) gcc.dg/vect/vect-13.c (test for excess errors) gcc.dg/vect/vect-14.c (test for excess errors) gcc.dg/vect/vect-15.c (test for excess errors) gcc.dg/vect/vect-16.c (test for excess errors) gcc.dg/vect/vect-17.c (test for excess errors) gcc.dg/vect/vect-18.c (test for excess errors) gcc.dg/vect/vect-19.c (test for excess errors) gcc.dg/vect/vect-2.c (test for excess errors) gcc.dg/vect/vect-2.c scan-tree-dump-times vectorized 1 loops 1 gcc.dg/vect/vect-20.c (test for excess errors) gcc.dg/vect/vect-21.c (test for excess errors) gcc.dg/vect/vect-22.c (test for excess errors) gcc.dg/vect/vect-25.c (test for excess errors) [...] The log files shows the following: Executing on host: /builds/gcc/misc/gcc/xgcc -B/builds/gcc/misc/gcc/ /cvs/gcc/gcc/testsuite/gcc.dg/vect/pr18400.c -O2 -ftree-vec torize -fdump-tree-vect-stats -msse2 -lm -o ./pr18400.exe(timeout = 300) /cvs/gcc/gcc/testsuite/gcc.dg/vect/pr18400.c: In function 'main1': /cvs/gcc/gcc/testsuite/gcc.dg/vect/pr18400.c:9: internal compiler error: tree check: accessed operand 2 of nop_expr with 1 operands in vect_analyze_offset_expr, at tree-vectorizer.c:1452 Please submit a full bug report, with preprocessed source if appropriate. See URL:http://gcc.gnu.org/bugs.html for instructions. compiler exited with status 1 output is: /cvs/gcc/gcc/testsuite/gcc.dg/vect/pr18400.c: In function 'main1': /cvs/gcc/gcc/testsuite/gcc.dg/vect/pr18400.c:9: internal compiler error: tree check: accessed operand 2 of nop_expr with 1 operands in vect_analyze_offset_expr, at tree-vectorizer.c:1452 Please submit a full bug report, with preprocessed source if appropriate. See URL:http://gcc.gnu.org/bugs.html for instructions. The ICE message is the same in all cases. -- What|Removed |Added CC||aj at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18179
[Bug tree-optimization/18179] vectorizer: wrong alignment/step/initial-address computed for struct accesses
--- Additional Comments From cvs-commit at gcc dot gnu dot org 2004-12-29 13:12 --- Subject: Bug 18179 CVSROOT:/cvs/gcc Module name:gcc Changes by: [EMAIL PROTECTED] 2004-12-29 13:11:59 Modified files: gcc: ChangeLog tree-vectorizer.c Log message: 2004-12-29 Ira Rosen [EMAIL PROTECTED] PR tree-optimization/18179 * tree-vectorizer.c (vect_get_symbl_and_dr): Reorganize. Add memtag retrieval. (vect_analyze_data_refs): Remove memtag retrieval. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gccr1=2.6975r2=2.6976 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-vectorizer.c.diff?cvsroot=gccr1=2.50r2=2.51 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18179
[Bug tree-optimization/18179] vectorizer: wrong alignment/step/initial-address computed for struct accesses
--- Additional Comments From cvs-commit at gcc dot gnu dot org 2004-12-29 13:16 --- Subject: Bug 18179 CVSROOT:/cvs/gcc Module name:gcc Changes by: [EMAIL PROTECTED] 2004-12-29 13:16:09 Modified files: gcc: ChangeLog tree-vectorizer.h tree-vectorizer.c Log message: 2004-12-29 Ira Rosen [EMAIL PROTECTED] PR tree-optimization/18179 * tree-vectorizer.h (struct _stmt_vec_info): Add new fields: initial_offset, step, misalignment and base_aligned_p and macros to access them. * tree-vectorizer.c (vect_analyze_offset_expr): New function. (new_stmt_vec_info): Initialize the new fields of stmt_vec_info. (vect_create_data_ref_ptr): Fix printings. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gccr1=2.6976r2=2.6977 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-vectorizer.h.diff?cvsroot=gccr1=2.7r2=2.8 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-vectorizer.c.diff?cvsroot=gccr1=2.51r2=2.52 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18179
[Bug tree-optimization/18179] vectorizer: wrong alignment/step/initial-address computed for struct accesses
--- Additional Comments From cvs-commit at gcc dot gnu dot org 2004-12-29 13:20 --- Subject: Bug 18179 CVSROOT:/cvs/gcc Module name:gcc Changes by: [EMAIL PROTECTED] 2004-12-29 13:20:38 Modified files: gcc: ChangeLog tree-vectorizer.c Log message: 2004-12-29 Ira Rosen [EMAIL PROTECTED] PR tree-optimization/18179 * tree-vectorizer.c (vect_get_base_and_offset): Rename (previous name vect_get_base_and_bit_offset). (vect_get_memtag_and_dr): Rename (previous name vect_get_symbl_and_dr). Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gccr1=2.6977r2=2.6978 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-vectorizer.c.diff?cvsroot=gccr1=2.52r2=2.53 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18179
[Bug tree-optimization/18179] vectorizer: wrong alignment/step/initial-address computed for struct accesses
--- Additional Comments From cvs-commit at gcc dot gnu dot org 2004-12-29 13:39 --- Subject: Bug 18179 CVSROOT:/cvs/gcc Module name:gcc Changes by: [EMAIL PROTECTED] 2004-12-29 13:38:34 Modified files: gcc: ChangeLog tree-vectorizer.c Log message: 2004-12-29 Ira Rosen [EMAIL PROTECTED] PR tree-optimization/18179 * tree-vectorizer.c (vect_get_base_and_offset): Call get_inner_reference and vect_analyze_offset_expr. (vect_create_addr_base_for_vector_ref): Build address_base by combining base and initial_offset fields of vect_stmt_info. (vect_update_inits_of_dr): Update offset of data-ref instead of its access-fn. Remove argument. (vect_update_inits_of_drs): Call vect_update_inits_of_dr with new arguments. (vect_compute_data_ref_alignment): Check misalignment info in vect_stmt_info. Remove argument. (vect_compute_data_refs_alignment): Call vect_compute_data_ref_alignment with correct argument. (vect_analyze_data_ref_access): Check access info in vect_stmt_info. (vect_analyze_pointer_ref_access): Update step and initial_offset fields of vect_stmt_info. (vect_get_memtag_and_dr): Call vect_get_base_and_offset and set the fields of stmt_vec_info. (vect_analyze_data_refs): Find vectype and pass it to vect_get_memtag_and_dr. (vect_get_first_index): Remove. (vect_compute_array_base_alignment): Remove. (vect_compute_array_ref_alignment): Remove (vect_create_data_ref_ptr): Use TYPE_SIZE_UNIT instead GET_MODE_SIZE. (vect_gen_niters_for_prolog_loop): Use TREE_CONSTANT instead host_integerp. (vectorizable_load): Use size arithmetics. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gccr1=2.6978r2=2.6979 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-vectorizer.c.diff?cvsroot=gccr1=2.53r2=2.54 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18179
[Bug tree-optimization/18179] vectorizer: wrong alignment/step/initial-address computed for struct accesses
--- Additional Comments From cvs-commit at gcc dot gnu dot org 2004-12-15 13:02 --- Subject: Bug 18179 CVSROOT:/cvs/gcc Module name:gcc Branch: autovect-branch Changes by: [EMAIL PROTECTED] 2004-12-15 13:02:47 Modified files: gcc: ChangeLog.autovect tree-vectorizer.c tree-vectorizer.h gcc/testsuite : ChangeLog.autovect Added files: gcc/testsuite/gcc.dg/vect: vect-90.c vect-91.c Log message: 2004-12-14 Ira Rosen [EMAIL PROTECTED] PR tree-optimization/18179 * tree-vectorizer.h (struct _stmt_vec_info): Add new fields: initial_offset, step, misalignment and base_aligned_p and macros to access them. * tree-vectorizer.c (vect_analyze_offset_expr): New function. (new_stmt_vec_info): Initialize the new fields of stmt_vec_info. (vect_create_data_ref_ptr): Fix printings. (vect_get_base_and_offset): Call get_inner_reference and vect_analyze_offset_expr. Renamed (previous name vect_get_base_and_bit_offset). (vect_create_addr_base_for_vector_ref): Build address_base by combining base and initial_offset fields of vect_stmt_info. (vect_update_inits_of_dr): Update offset of data-ref instead of its access-fn. Remove argument. (vect_update_inits_of_drs): Call vect_update_inits_of_dr with new arguments. (vect_compute_data_ref_alignment): Check misalignment info in vect_stmt_info. Remove argument. (vect_compute_data_refs_alignment): Call vect_compute_data_ref_alignment with correct argument. (vect_analyze_data_ref_access): Check access info in vect_stmt_info. (vect_analyze_pointer_ref_access): Update step and initial_offset fields of vect_stmt_info. (vect_get_memtag_and_dr): Call vect_get_base_and_offset and set the fields of stmt_vec_info. Reorganize. Add memtag retrieval. Renamed (previous name vect_get_symb_and_dr). (vect_analyze_data_refs): Find vectype and pass it to vect_get_memtag_and_dr. Remove memtag retrieval. (vect_get_first_index): Remove. (vect_compute_array_base_alignment): Remove. (vect_compute_array_ref_alignment): Remove. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.autovect.diff?cvsroot=gcconly_with_tag=autovect-branchr1=1.1.2.9r2=1.1.2.10 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-vectorizer.c.diff?cvsroot=gcconly_with_tag=autovect-branchr1=2.25.2.5r2=2.25.2.6 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-vectorizer.h.diff?cvsroot=gcconly_with_tag=autovect-branchr1=2.7.2.2r2=2.7.2.3 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.autovect.diff?cvsroot=gcconly_with_tag=autovect-branchr1=1.1.2.2r2=1.1.2.3 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/vect/vect-90.c.diff?cvsroot=gcconly_with_tag=autovect-branchr1=NONEr2=1.1.2.1 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/vect/vect-91.c.diff?cvsroot=gcconly_with_tag=autovect-branchr1=NONEr2=1.1.2.1 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18179
[Bug tree-optimization/18179] vectorizer: wrong alignment/step/initial-address computed for struct accesses
--- Additional Comments From dorit at il dot ibm dot com 2004-11-04 14:44 --- patch: http://gcc.gnu.org/ml/gcc-patches/2004-11/msg00277.html -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18179
[Bug tree-optimization/18179] vectorizer: wrong alignment/step/initial-address computed for struct accesses
--- Additional Comments From dorit at il dot ibm dot com 2004-10-27 14:41 --- Created an attachment (id=7417) -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=7417action=view) testcase. Forgot to mention - occurs when compiling with '-O2 -ftree-vectorize -maltivec'. Attached is the complete testcase. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18179
[Bug tree-optimization/18179] vectorizer: wrong alignment/step/initial-address computed for struct accesses
--- Additional Comments From pinskia at gcc dot gnu dot org 2004-10-27 17:44 --- Confirmed. -- What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed||1 Keywords||wrong-code Last reconfirmed|-00-00 00:00:00 |2004-10-27 17:44:19 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18179