https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121910
--- Comment #3 from Zhongyao Chen <chenzhongyao.hit at gmail dot com> --- gcc(trunk) have no missed multiple IRs (program points) during the analysis. /app/example.c:19:27: note: Compute local program points for bb 4: /app/example.c:19:27: note: program point 1: _11 = *_10; /app/example.c:19:27: note: program point 2: patt_67 = (unsigned short) _11; /app/example.c:19:27: note: program point 3: patt_64 = patt_67 * patt_65; /app/example.c:19:27: note: program point 4: _16 = *_15; /app/example.c:19:27: note: program point 5: patt_40 = (unsigned short) _16; /app/example.c:19:27: note: program point 6: patt_37 = patt_40 * patt_38; /app/example.c:19:27: note: program point 7: patt_35 = patt_64 + patt_37; /app/example.c:19:27: note: program point 8: _21 = *_20; /app/example.c:19:27: note: program point 9: patt_141 = (unsigned short) _21; /app/example.c:19:27: note: program point 10: patt_144 = patt_141 * patt_143; /app/example.c:19:27: note: program point 11: patt_146 = patt_35 + patt_144; /app/example.c:19:27: note: program point 12: _26 = *_25; /app/example.c:19:27: note: program point 13: patt_148 = (unsigned short) _26; /app/example.c:19:27: note: program point 14: patt_151 = patt_148 * patt_150; /app/example.c:19:27: note: program point 15: patt_153 = patt_146 + patt_151; /app/example.c:19:27: note: program point 16: patt_155 = patt_153 + 32; /app/example.c:19:27: note: program point 17: patt_157 = patt_155 >> 6; /app/example.c:19:27: note: program point 18: *_32 = _33; the issue might be the next step "Compute local live ranges" ? or max_number_of_live_regs ?