https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104038
--- Comment #8 from Andrew Macleod <amacleod at redhat dot com> --- The issue is transitive relations are being registered in an unbounded way. SymCount_369 = SymCount_368 + 1; SymCount_370 = SymCount_369 + 1; SymCount_371 = SymCount_370 + 1; _370 > _369, and _369 is > _368, so it registers a transitive relation between _370 > _368 Then we register _371 > 370 and transitive relations_371 > 369 as well as _371 > 368 This cascades as the chain gets longer and would be quadratic in nature. This is then compounded by the currently linear nature of looking up a relation within the current basic block. On monday, I will introduce a capping heuristic to transitivity and/or limiting the number of relations we can add to a block, preventing either situation from being an issue going forward.