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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2018-08-02
            Version|tree-ssa                    |8.2.0
           Assignee|unassigned at gcc dot gnu.org      |rguenth at gcc dot 
gnu.org
   Target Milestone|---                         |8.3
            Summary|[8 Regression] ICE: SIGSEGV |[8/9 Regression] ICE:
                   |in tree-ssa-pre /           |SIGSEGV in tree-ssa-pre /
                   |tail_merge_optimize         |tail_merge_optimize
     Ever confirmed|0                           |1
      Known to fail|                            |9.0

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Confirmed.

#1  0x00000000014e9e2a in VN_INFO (name=<ssa_name 0x7ffff6a07120>)
    at /tmp/trunk/gcc/tree-ssa-sccvn.c:376
376       gcc_checking_assert (res);

so we are asking for the value-number of sth that didn't get a VN_INFO
comparing

(gdb) p debug_gimple_stmt (s1)
if (pretmp_13 == 1)
$1 = void
(gdb) p debug_gimple_stmt (s2)
if (_16 <= 1)

with _16 being the culprit here.  This SSA name is generated via the
CFG cleanup done between PRE and tail-merging.

#0  make_ssa_name_fn (fn=0x7ffff69f8000, var=<integer_type 0x7ffff69e4540>, 
    stmt=<gimple 0x0>, version=0) at /tmp/trunk/gcc/tree-ssanames.c:325
#1  0x00000000012e7739 in make_ssa_name (var=<integer_type 0x7ffff69e4540>, 
    stmt=<gimple 0x0>) at /tmp/trunk/gcc/tree-ssanames.h:115
#2  0x000000000130397a in generate_range_test (
    bb=<basic_block 0x7ffff68987b8 (6)>, index=<ssa_name 0x7ffff6a07000>, 
    low=<integer_cst 0x7ffff68ae228>, high=<integer_cst 0x7ffff68ae588>, 
    lhs=0x7fffffffd520, rhs=0x7fffffffd518) at /tmp/trunk/gcc/tree-cfg.c:9141
#3  0x000000000130b17a in convert_single_case_switch (swtch=0x7ffff68a9a00, 
    gsi=...) at /tmp/trunk/gcc/tree-cfgcleanup.c:102
#4  0x000000000130b2f0 in cleanup_control_expr_graph (
    bb=<basic_block 0x7ffff68987b8 (6)>, gsi=...)
    at /tmp/trunk/gcc/tree-cfgcleanup.c:141
#5  0x000000000130b708 in cleanup_control_flow_bb (
    bb=<basic_block 0x7ffff68987b8 (6)>)
    at /tmp/trunk/gcc/tree-cfgcleanup.c:248
#6  0x000000000130ce48 in cleanup_control_flow_pre ()
    at /tmp/trunk/gcc/tree-cfgcleanup.c:758
#7  0x000000000130d2a9 in cleanup_tree_cfg_noloop ()
    at /tmp/trunk/gcc/tree-cfgcleanup.c:882
#8  0x000000000130d52d in cleanup_tree_cfg ()
    at /tmp/trunk/gcc/tree-cfgcleanup.c:990
#9  0x000000000153d81f in tail_merge_optimize (todo=32)
    at /tmp/trunk/gcc/tree-ssa-tail-merge.c:1732
#10 0x00000000014c3e22 in (anonymous namespace)::pass_pre::execute (
    this=0x2f26300, fun=0x7ffff69f8000) at /tmp/trunk/gcc/tree-ssa-pre.c:4208

Reply via email to