This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/71031] [6/7 Regression] ICE in extract_range_from_binary_expr_1, at tree-vrp.c:2535 w/ -Os


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

Marek Polacek <mpolacek at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org,
                   |                            |rguenth at gcc dot gnu.org

--- Comment #7 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
To expand a bit on Comment 4: we have [1, od_5] + UINT_MAX on type unsigned and
are in extract_range_from_binary_expr_1.  We combine the lower bounds, which is
1 + UINT_MAX = 0(OVF).  We  then combine the upper bounds, because the max_op0
is not a constant, the result of that is UINT_MAX.  So WMIN is 0(OVF) and WMAX
is UINT_MAX.  These are equal to TYPE_MIN and TYPE_MAX, respectively.  What to
do with that, drop to VR_VARYING if we have min overflow or max underflow?

Richi/Jakub, any ideas?  I'm kinda stuck here :(.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]