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

            Bug ID: 108970
           Summary: [13 Regression] ICE in vect_do_peeling, at
                    tree-vect-loop-manip.cc:2971, or ICE in
                    dump_printf_loc, at dumpfile.cc:1359
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: asolokha at gmx dot com
  Target Milestone: ---

1. gcc 13.0.1 20230226 snapshot (g:e6d39f68d03c46637ca6e1bede3d28eae6278df3)
ICEs when compiling the following testcase w/ -O1 -ftree-loop-vectorize
-fsave-optimization-record -fno-tree-dce -fno-tree-scev-cprop:

int m;

__attribute__ ((noinline, returns_twice)) void
empty (void)
{
}

void
foo (void)
{
  while (m < 1)
    {
      empty ();
      ++m;
    }
}

% gcc-13 -O1 -ftree-loop-vectorize -fsave-optimization-record -fno-tree-dce
-fno-tree-scev-cprop -c ionf2mqq.c
during GIMPLE pass: vect
ionf2mqq.c: In function 'foo':
ionf2mqq.c:9:1: internal compiler error: in vect_do_peeling, at
tree-vect-loop-manip.cc:2971
    9 | foo (void)
      | ^~~
0x119566f vect_do_peeling(_loop_vec_info*, tree_node*, tree_node*, tree_node**,
tree_node**, tree_node**, int, bool, bool, tree_node**)
       
/var/tmp/portage/sys-devel/gcc-13.0.1_p20230226/work/gcc-13-20230226/gcc/tree-vect-loop-manip.cc:2971
0x1187e99 vect_transform_loop(_loop_vec_info*, gimple*)
       
/var/tmp/portage/sys-devel/gcc-13.0.1_p20230226/work/gcc-13-20230226/gcc/tree-vect-loop.cc:10807
0x11c6ca0 vect_transform_loops
       
/var/tmp/portage/sys-devel/gcc-13.0.1_p20230226/work/gcc-13-20230226/gcc/tree-vectorizer.cc:1007
0x11c72de try_vectorize_loop_1
       
/var/tmp/portage/sys-devel/gcc-13.0.1_p20230226/work/gcc-13-20230226/gcc/tree-vectorizer.cc:1153
0x11c72de try_vectorize_loop
       
/var/tmp/portage/sys-devel/gcc-13.0.1_p20230226/work/gcc-13-20230226/gcc/tree-vectorizer.cc:1183
0x11c7694 execute
       
/var/tmp/portage/sys-devel/gcc-13.0.1_p20230226/work/gcc-13-20230226/gcc/tree-vectorizer.cc:1299

2. Omitting -fsave-optimization-record yields the following instead:

% gcc-13 -O1 -ftree-loop-vectorize -fno-tree-dce -fno-tree-scev-cprop -c
ionf2mqq.c
during GIMPLE pass: vect
ionf2mqq.c: In function 'foo':
ionf2mqq.c:9:1: internal compiler error: in dump_printf_loc, at
dumpfile.cc:1359
    9 | foo (void)
      | ^~~
0x6c16b2 dump_printf_loc(dump_metadata_t const&, dump_user_location_t const&,
char const*, ...)
       
/var/tmp/portage/sys-devel/gcc-13.0.1_p20230226/work/gcc-13-20230226/gcc/dumpfile.cc:1359
0x119565b vect_do_peeling(_loop_vec_info*, tree_node*, tree_node*, tree_node**,
tree_node**, tree_node**, int, bool, bool, tree_node**)
       
/var/tmp/portage/sys-devel/gcc-13.0.1_p20230226/work/gcc-13-20230226/gcc/tree-vect-loop-manip.cc:2969
0x1187e99 vect_transform_loop(_loop_vec_info*, gimple*)
       
/var/tmp/portage/sys-devel/gcc-13.0.1_p20230226/work/gcc-13-20230226/gcc/tree-vect-loop.cc:10807
0x11c6ca0 vect_transform_loops
       
/var/tmp/portage/sys-devel/gcc-13.0.1_p20230226/work/gcc-13-20230226/gcc/tree-vectorizer.cc:1007
0x11c72de try_vectorize_loop_1
       
/var/tmp/portage/sys-devel/gcc-13.0.1_p20230226/work/gcc-13-20230226/gcc/tree-vectorizer.cc:1153
0x11c72de try_vectorize_loop
       
/var/tmp/portage/sys-devel/gcc-13.0.1_p20230226/work/gcc-13-20230226/gcc/tree-vectorizer.cc:1183
0x11c7694 execute
       
/var/tmp/portage/sys-devel/gcc-13.0.1_p20230226/work/gcc-13-20230226/gcc/tree-vectorizer.cc:1299

Reply via email to