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

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ice-on-valid-code
                 CC|                            |marxin at gcc dot gnu.org
   Target Milestone|---                         |6.3

--- Comment #2 from Martin Liška <marxin at gcc dot gnu.org> ---
The code snippet causes stack overflow as we periodically try to fold
PLUS_EXPR:
(unsigned int) (d + c) and ~(unsigned int) (302806 >> 0)
to MINUS_EXPR:
(unsigned int) (d + c) + (unsigned int) -(302806 >> 0) and 1

and so forth, there's part of back-trace:

#1584 0x0000000000d52f3a in fold_build2_stat_loc (loc=2147483652,
code=PLUS_EXPR, type=0x7ffff6a02540, op0=0x7ffff67efd98, op1=0x7ffff69fac18) at
../../gcc/fold-const.c:12287
#1585 0x00000000016a9ea5 in generic_simplify_MINUS_EXPR (loc=2147483652,
code=MINUS_EXPR, type=0x7ffff6a02540, op0=0x7ffff67efd98, op1=0x7ffff69facc0)
at generic-match.c:12390
#1586 0x00000000016ebbaa in generic_simplify (loc=2147483652, code=MINUS_EXPR,
type=0x7ffff6a02540, op0=0x7ffff67efd98, op1=0x7ffff69facc0) at
generic-match.c:31237
#1587 0x0000000000d42d9e in fold_binary_loc (loc=2147483652, code=MINUS_EXPR,
type=0x7ffff6a02540, op0=0x7ffff67efd98, op1=0x7ffff69facc0) at
../../gcc/fold-const.c:9159
#1588 0x0000000000d52f3a in fold_build2_stat_loc (loc=2147483652,
code=MINUS_EXPR, type=0x7ffff6a02540, op0=0x7ffff67efd98, op1=0x7ffff69facc0)
at ../../gcc/fold-const.c:12287
#1589 0x0000000000d2083e in associate_trees (loc=2147483652, t1=0x7ffff67efd98,
t2=0x7ffff69facc0, code=MINUS_EXPR, type=0x7ffff6a02540) at
../../gcc/fold-const.c:913
#1590 0x0000000000d45f53 in fold_binary_loc (loc=2147483652, code=PLUS_EXPR,
type=0x7ffff6a02540, op0=0x7ffff67f25e0, op1=0x7ffff67f2620) at
../../gcc/fold-const.c:9679
#1591 0x0000000000d52f3a in fold_build2_stat_loc (loc=2147483652,
code=PLUS_EXPR, type=0x7ffff6a02540, op0=0x7ffff67f25e0, op1=0x7ffff67f2620) at
../../gcc/fold-const.c:12287
#1592 0x0000000000d2083e in associate_trees (loc=2147483652, t1=0x7ffff67f25e0,
t2=0x7ffff67f2620, code=PLUS_EXPR, type=0x7ffff6a02540) at
../../gcc/fold-const.c:913
#1593 0x0000000000d46049 in fold_binary_loc (loc=2147483652, code=PLUS_EXPR,
type=0x7ffff6a02540, op0=0x7ffff67efd70, op1=0x7ffff69fac18) at
../../gcc/fold-const.c:9695
#1594 0x0000000000d52f3a in fold_build2_stat_loc (loc=2147483652,
code=PLUS_EXPR, type=0x7ffff6a02540, op0=0x7ffff67efd70, op1=0x7ffff69fac18) at
../../gcc/fold-const.c:12287
#1595 0x00000000016a9ea5 in generic_simplify_MINUS_EXPR (loc=2147483652,
code=MINUS_EXPR, type=0x7ffff6a02540, op0=0x7ffff67efd70, op1=0x7ffff69facc0)
at generic-match.c:12390
#1596 0x00000000016ebbaa in generic_simplify (loc=2147483652, code=MINUS_EXPR,
type=0x7ffff6a02540, op0=0x7ffff67efd70, op1=0x7ffff69facc0) at
generic-match.c:31237

Reply via email to