https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98557
--- Comment #9 from Jakub Jelinek <jakub at gcc dot gnu.org> --- It doesn't surprise me that creduce/cvise is uneasy about it, because that testcase really can't be reduced. You'd need to reduce by hand, e.g. to: #define A(n) if (a[n]) a[n]++; #define B(n) A(n##0) A(n##1) A(n##2) A(n##3) A(n##4) A(n##5) A(n##6) A(n##7) A(n##8) A(n##9) #define C(n) B(n##0) B(n##1) B(n##2) B(n##3) B(n##4) B(n##5) B(n##6) B(n##7) B(n##8) B(n##9) #define D(n) C(n##0) C(n##1) C(n##2) C(n##3) C(n##4) C(n##5) C(n##6) C(n##7) C(n##8) C(n##9) #define E(n) D(n##0) D(n##1) D(n##2) D(n##3) D(n##4) D(n##5) D(n##6) D(n##7) D(n##8) D(n##9) unsigned foo (int n, int m, int *a) { unsigned int b, c, d, e, f, g, h, i; b = a[m] ? a[m + 4] : a[m + 5]; c = a[m + 1]; d = a[m + 2]; e = a[m + 3]; f = c * b; g = d * b * b; h = e * b * b * b; i = f + g + h; E(1) E(2) b = a[m] ? a[m + 4] : a[m + 5]; c = a[m + 1]; d = a[m + 2]; e = a[m + 3]; f = c * b; g = d * b * b; h = e * b * b * b; return (f + g + h) * i; } which indeed ICEs with unfixed gcc on 32-bit hosts at -O2, as this testcase has more than 40000 basic blocks and uses phi_rank/bb_rank of the bbs with negative ranks. during GIMPLE pass: reassoc pr98557.c: In function ‘foo’: pr98557.c:8:1: internal compiler error: in insert_operand_rank, at tree-ssa-reassoc.c:367 8 | foo (int n, int m, int *a) | ^~~ 0x8380d90 insert_operand_rank ../../gcc/tree-ssa-reassoc.c:367 0x8380d90 insert_operand_rank ../../gcc/tree-ssa-reassoc.c:365 0x8d3ea02 get_rank ../../gcc/tree-ssa-reassoc.c:455 0x8d3eb14 get_rank ../../gcc/tree-ssa-reassoc.c:322 0x8d3eb14 propagate_rank ../../gcc/tree-ssa-reassoc.c:348 0x8d3eb14 get_rank ../../gcc/tree-ssa-reassoc.c:442 0x8d3eb14 get_rank ../../gcc/tree-ssa-reassoc.c:322 0x8d3eb14 propagate_rank ../../gcc/tree-ssa-reassoc.c:348 0x8d3eb14 get_rank ../../gcc/tree-ssa-reassoc.c:442 0x8d3eb14 get_rank ../../gcc/tree-ssa-reassoc.c:322 0x8d3eb14 propagate_rank ../../gcc/tree-ssa-reassoc.c:348 0x8d3eb14 get_rank ../../gcc/tree-ssa-reassoc.c:442 0x8d3ecb6 get_rank ../../gcc/vec.h:290 0x8d3ecb6 add_to_ops_vec ../../gcc/tree-ssa-reassoc.c:569 0x8d3f58e linearize_expr_tree ../../gcc/tree-ssa-reassoc.c:5711 0x8d3f443 linearize_expr_tree ../../gcc/tree-ssa-reassoc.c:5753 0x8d3f443 linearize_expr_tree ../../gcc/tree-ssa-reassoc.c:5753 0x8d45f2c reassociate_bb ../../gcc/tree-ssa-reassoc.c:6492 0x8d461f2 reassociate_bb ../../gcc/tree-ssa-reassoc.c:6656 0x8d484b5 do_reassoc ../../gcc/tree-ssa-reassoc.c:6768 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions. But I'm not sure the testcase is desirable for the testsuite, because it takes to compile 105 seconds on a fast machine.