This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/67253] [6 Regression] ICE at -O3 on x86_64-linux-gnu (verify_gimple failed)
- 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, 16 Sep 2015 09:53:39 +0000
- Subject: [Bug tree-optimization/67253] [6 Regression] ICE at -O3 on x86_64-linux-gnu (verify_gimple failed)
- Auto-submitted: auto-generated
- References: <bug-67253-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67253
--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
Ok... so the issue is we have "invalid" tree sharing of &c in both
fn4.constprop
and fn2.constprop. Correctly without BLOCK on the location. But then we
expand
fn4.constprop and do
expand_gimple_stmt_1 (stmt=<gimple_assign 0x7ffff6a0ac30>)
at /space/rguenther/src/svn/trunk/gcc/cfgexpand.c:3592
3592 if (TREE_CLOBBER_P (rhs))
(gdb) l
3587 tree rhs = gimple_assign_rhs1 (assign_stmt);
3588 gcc_assert (get_gimple_rhs_class (gimple_expr_code (stmt))
3589 == GIMPLE_SINGLE_RHS);
3590 if (gimple_has_location (stmt) && CAN_HAVE_LOCATION_P
(rhs))
3591 SET_EXPR_LOCATION (rhs, gimple_location (stmt));
3592 if (TREE_CLOBBER_P (rhs))
which sets this invalid location on the shared tree.