https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121910

--- Comment #4 from JuzheZhong <juzhe.zhong at rivai dot ai> ---
(In reply to Zhongyao Chen from comment #3)
> 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 ?

I think both may be buggy. May need to take some time to dig in both functions.

Reply via email to