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

--- Comment #2 from cuilili <lili.cui at intel dot com> ---
(In reply to Richard Biener from comment #1)
> Probably best to limit the values to reassoc-width by adding the
> appropriate IntegerRange attribute in params.opt
> 
> IntegerRange(0, 256)
> 
> maybe?

"rewrite_expr_tree_parallel" got a wrong width from "get_reassociation_width" 

The number of ops is 4, width is 2147483647.

get_reassociation_width:
...
  width_min = 1;
  while (width > width_min)
    {
      int width_mid = (width + width_min) / 2;   --> (width + 1) out of bounds
...

So Richard suggested that limiting tree-reassoc-width to IntegerRange(0, 256)
would solve the ICE, I also added a width constraint in
rewrite_expr_tree_parallel, here is the patch.


https://gcc.gnu.org/pipermail/gcc-patches/2023-May/620154.html

1. Limit the value of tree-reassoc-width to IntegerRange(0, 256).
2. Add width limit in rewrite_expr_tree_parallel.

Reply via email to