https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97969
--- Comment #5 from Paul Sokolovsky <pmiscml at gmail dot com> --- ktkac...@gcc.gnu.org: Thanks for looking into this issue! Looking forward for the root cause to be found. Given the minimized testcase which CReduce came to, my finger-in-the-sky bet would be that it's a very fine case of data structure corruption, which doesn't lead to segfault, but rather to infiniloop. I'm saying that, because I tried to play with the minimized example myself, but saw that most changes get rid of the issue. The only "simplifying" change I could make which still leads to infiniloop is replace usage of the "h" enum with "char" ("int" doesn't work). That makes declaration of the "h" enum unused, and yet removal of it fixes the loop. That's why I say it looks like very fine memory corruption, it's hard to imagine how unused enum declaration can affect regalloc. But then, I don't have experience with this stuff, and the setup is too complicated for me to try. So again, thanks for looking into this.