[Bug c/97769] New: [11 Regression] vectorizer ICE when building perlbench in SPECCPU 2017

tnfchris at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Nov 9 18:25:57 GMT 2020


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97769

            Bug ID: 97769
           Summary: [11 Regression] vectorizer ICE when building perlbench
                    in SPECCPU 2017
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: tnfchris at gcc dot gnu.org
  Target Milestone: ---

Created attachment 49528
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=49528&action=edit
reproducer for ice

With vectorizer enabled the perlbench benchmark ICEs if you bump up the inliner
limit:

during GIMPLE pass: vect
tmp.i: In function 'fn3':
tmp.i:25:1: internal compiler error: in vect_update_misalignment_for_peel, at
tree-vect-data-refs.c:1196
   25 | fn3() { fn2(&(&c)->otmp); }
      | ^~~
0x19f9b43 vect_update_misalignment_for_peel
        ../../gcc-fsf/gcc/tree-vect-data-refs.c:1193
0x19f9def vect_get_peeling_costs_all_drs
        ../../gcc-fsf/gcc/tree-vect-data-refs.c:1481
0x19fb83b vect_peeling_hash_get_lowest_cost(_vect_peel_info**,
_vect_peel_extended_info*)
        ../../gcc-fsf/gcc/tree-vect-data-refs.c:1508
0x1a068cb void hash_table<peel_info_hasher, false,
xcallocator>::traverse_noresize<_vect_peel_extended_info*,
&(vect_peeling_hash_get_lowest_cost(_vect_peel_info**,
_vect_peel_extended_info*))>(_vect_peel_extended_info*)
        ../../gcc-fsf/gcc/hash-table.h:1081
0x1a068cb void hash_table<peel_info_hasher, false,
xcallocator>::traverse<_vect_peel_extended_info*,
&(vect_peeling_hash_get_lowest_cost(_vect_peel_info**,
_vect_peel_extended_info*))>(_vect_peel_extended_info*)
        ../../gcc-fsf/gcc/hash-table.h:1102
0x1a068cb vect_peeling_hash_choose_best_peeling
        ../../gcc-fsf/gcc/tree-vect-data-refs.c:1557
0x1a068cb vect_enhance_data_refs_alignment(_loop_vec_info*)
        ../../gcc-fsf/gcc/tree-vect-data-refs.c:2058
0x10ef27f vect_analyze_loop_2
        ../../gcc-fsf/gcc/tree-vect-loop.c:2351
0x10f03b3 vect_analyze_loop(loop*, vec_info_tmpred*)
        ../../gcc-fsf/gcc/tree-vect-loop.c:2895
0x1118d83 try_vectorize_loop_1
        ../../gcc-fsf/gcc/tree-vectorizer.c:995
0x11194ff vectorize_loops()
        ../../gcc-fsf/gcc/tree-vectorizer.c:1230
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

The attached testcase reproduces this at -O3 with no other options.


More information about the Gcc-bugs mailing list