This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/67816] [6 Regression] ICE in duplicate_thread_path, 186.crafty fails to build
- From: "law at redhat dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 05 Oct 2015 15:25:09 +0000
- Subject: [Bug tree-optimization/67816] [6 Regression] ICE in duplicate_thread_path, 186.crafty fails to build
- Auto-submitted: auto-generated
- References: <bug-67816-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67816
--- Comment #12 from Jeffrey A. Law <law at redhat dot com> ---
As I suspected, what's happening is we've got an FSM jump thread path. After
we register the FSM path DOM discovers that a block embedded in the path has a
control statement with a staticly computable destination. DOM cleans things up
the obvious way.
That leaves blocks in the FSM path which become unreachable. That in turn
triggers the checking assert. The checking assert is a simple sanity check on
the FSM path to detect a case where a block on the path unconditionally
transferred control to another block that was not the next block on the path.
That assert detects a "shouldn't ever happen case" and is probably totally
obsolete at this point. I'm much more concerned that this didn't trigger is
a normal development build and that's what I'm focusing my energy on at the
moment.