[Bug tree-optimization/83104] [8 Regression] ICE: Segmentation fault
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Nov 22 08:43:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83104
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |8.0
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Marc Glisse from comment #2)
> two_valued_val_range_p doesn't work on pointers, it uses vrp_val_min on the
> type of the arguments. Probably:
>
> --- vr-values.c (revision 255021)
> +++ vr-values.c (working copy)
> @@ -4091,7 +4091,7 @@ vr_values::simplify_stmt_using_ranges (g
> LHS = VAR == VAL1 ? (VAL1 BINOP CST) : (VAL2 BINOP CST) */
>
> if (TREE_CODE_CLASS (rhs_code) == tcc_binary
> - && INTEGRAL_TYPE_P (TREE_TYPE (lhs))
> + && INTEGRAL_TYPE_P (TREE_TYPE (rhs1))
> && ((TREE_CODE (rhs1) == INTEGER_CST
> && TREE_CODE (rhs2) == SSA_NAME)
> || (TREE_CODE (rhs2) == INTEGER_CST
>
> (or keep both tests)
and/or make two_valued_val_range_p return false for !INTEGRAL_TYPE_P
the above and/or this is pre-approved.
More information about the Gcc-bugs
mailing list