This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/81240] [7/8 Regression] ICE in dfs_enumerate_from
- From: "rguenth at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 28 Jun 2017 13:05:33 +0000
- Subject: [Bug tree-optimization/81240] [7/8 Regression] ICE in dfs_enumerate_from
- Auto-submitted: auto-generated
- References: <bug-81240-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81240
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P2
Status|UNCONFIRMED |NEW
Last reconfirmed| |2017-06-28
CC| |law at gcc dot gnu.org
Target Milestone|--- |7.2
Ever confirmed|0 |1
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Confirmed.
#1 0x0000000000948646 in dfs_enumerate_from (
bb=<basic_block 0x7ffff69e3750 (11)>, reverse=1, predicate=
0x11a81ba <dbds_continue_enumeration_p(const_basic_block, void const*)>,
rslt=0x283fbf0, rslt_max=16, data=0x7ffff689d680)
at /space/rguenther/src/svn/gcc-7-branch/gcc/cfganal.c:1244
#2 0x00000000011a82e6 in determine_bb_domination_status (loop=0x7ffff69de420,
bb=<basic_block 0x7ffff689d680 (13)>)
at /space/rguenther/src/svn/gcc-7-branch/gcc/tree-ssa-threadupdate.c:1705
#3 0x00000000011a856e in thread_through_loop_header (loop=0x7ffff69de420,
may_peel_loop_headers=false)
at /space/rguenther/src/svn/gcc-7-branch/gcc/tree-ssa-threadupdate.c:1851
#4 0x00000000011aa150 in thread_through_all_blocks (
may_peel_loop_headers=false)
at /space/rguenther/src/svn/gcc-7-branch/gcc/tree-ssa-threadupdate.c:2562
#5 0x000000000126411a in execute_vrp (warn_array_bounds_p=false)
at /space/rguenther/src/svn/gcc-7-branch/gcc/tree-vrp.c:11759
I suppose loop->num_nodes is no longer accurate (sth before broke loops, not
unheard of in threading...)
1704 nblocks = dfs_enumerate_from (loop->latch, 1,
dbds_continue_enumeration_p,
1705 bblocks, loop->num_nodes, bb);
called from
1849 /* The target block must dominate the loop latch, otherwise we would
be
1850 creating a subloop. */
1851 domst = determine_bb_domination_status (loop, tgt_bb);
1852 if (domst == DOMST_NONDOMINATING)
1853 goto fail;
1854 if (domst == DOMST_LOOP_BROKEN)
domst == DOMST_LOOP_BROKEN is telling sth ;)
Jeff?