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

--- Comment #2 from bin cheng <amker at gcc dot gnu.org> ---
Also, cost in inner loop is scaled by big number:
Scaling cost based on bb prob by 10000.00: 0 (scratch: 0) -> 0 (10000/1)
Scaling cost based on bb prob by 10000.00: 32 (scratch: 0) -> 320000 (10000/1)
Scaling cost based on bb prob by 10000.00: 41 (scratch: 0) -> 410000 (10000/1)
Scaling cost based on bb prob by 10000.00: 21 (scratch: 0) -> 210000 (10000/1)
Scaling cost based on bb prob by 10000.00: 45 (scratch: 0) -> 450000 (10000/1)
Scaling cost based on bb prob by 10000.00: 21 (scratch: 0) -> 210000 (10000/1)
Scaling cost based on bb prob by 10000.00: 17 (scratch: 0) -> 170000 (10000/1)

Resulting:
Group 19:
  cand  cost    compl.  inv.expr.       inv.vars
  1     410000  0       NIL;    1, 4
  2     210000  0       NIL;    4
  3     450000  0       NIL;    1, 4
  4     210000  0       NIL;    4
  5     170000  0       35;     NIL;
  30    0       0       NIL;    NIL;
  67    320000  0       NIL;    1, 4

Given we have 70 groups of iv_use, this easily overflow infinite_cost which is
10,000,000.

One thing unclear is the overflow happens in the middle of cost candidate
choosing algorithm.

Reply via email to