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

            Bug ID: 96640
           Summary: [11 Regression] ICE in on_assignment, at
                    analyzer/region-model.cc:561 (sorry, unimplemented:
                    unhandled assignment op)
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: analyzer
          Assignee: dmalcolm at gcc dot gnu.org
          Reporter: asolokha at gmx dot com
  Target Milestone: ---
            Target: powerpc-*-linux-gnu

gcc-11.0.0-alpha20200816 snapshot (g:c99116aeeb9644ebddec653ee8b19de4d38b65bd)
ICEs when compiling the following testcase w/ -mvsx -fanalyzer:

void
x4 (void)
{
  __attribute__ ((altivec (vector__))) short int xy, nk;
  __builtin_vec_sra (__builtin_vec_mule (xy, nk),
                    (__attribute__ ((altivec (vector__))) unsigned int) {});
}

% powerpc-e300c3-linux-gnu-gcc-11.0.0 -mvsx -fanalyzer -c yhkjopg3.c
yhkjopg3.c: In function 'x4':
yhkjopg3.c:6:21: sorry, unimplemented: unhandled assignment op:
'widen_mult_even_expr'
    6 |                     (__attribute__ ((altivec (vector__))) unsigned int)
{});
      |                     ^
during IPA pass: analyzer
yhkjopg3.c:6:21: internal compiler error: in on_assignment, at
analyzer/region-model.cc:561
0x113b50e ana::region_model::on_assignment(gassign const*,
ana::region_model_context*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/region-model.cc:561
0x111ed2a ana::exploded_node::on_stmt(ana::exploded_graph&, ana::supernode
const*, gimple const*, ana::program_state*) const
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/engine.cc:1029
0x111ff65 ana::exploded_graph::process_node(ana::exploded_node*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/engine.cc:2526
0x11207c2 ana::exploded_graph::process_worklist()
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/engine.cc:2341
0x11228a4 ana::impl_run_checkers(ana::logger*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/engine.cc:4107
0x1123551 ana::run_checkers()
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/engine.cc:4175
0x1118128 execute
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-11.0.0_alpha20200816/work/gcc-11-20200816/gcc/analyzer/analyzer-pass.cc:84

I also see other unhandled ops when compiling other testcases, these are
bit_insert_expr, cond_expr, and paren_expr.

I do recognize that this ICE results from a technical limitation in the
analyzer code and is not a bug per se.

Reply via email to