https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68398
Jeffrey A. Law <law at redhat dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |law at redhat dot com --- Comment #1 from Jeffrey A. Law <law at redhat dot com> --- Sebastian, That change was to avoid creating irreducible loops, which should be considered a design requirement for the threader. We've been willing to relax that requirement in cases where we're able to collapse a multi-way branch. So I think the thing to do is first verify whether or not the threading opportunity we suppress would result in a multi-way branch being removed. If it doesn't, then we'll have to look and see if there's another relaxation we can reasonably do. The other possibility is cases where applying multiple jump threads results in a reducible loop, but applying a subset results in an irreducible loop. I know of at least one case of that occurring (it's in the testsuite). We haven't tried to handle those situations to the best of my knowledge.