[Bug tree-optimization/83104] [8 Regression] ICE: Segmentation fault
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83104 Markus Trippelsdorf changed: What|Removed |Added CC||amodra at gmail dot com --- Comment #6 from Markus Trippelsdorf --- *** Bug 83119 has been marked as a duplicate of this bug. ***
[Bug tree-optimization/83104] [8 Regression] ICE: Segmentation fault
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83104 Markus Trippelsdorf changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #5 from Markus Trippelsdorf --- Fixed.
[Bug tree-optimization/83104] [8 Regression] ICE: Segmentation fault
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83104 --- Comment #4 from Marc Glisse --- Author: glisse Date: Wed Nov 22 16:44:46 2017 New Revision: 255068 URL: https://gcc.gnu.org/viewcvs?rev=255068&root=gcc&view=rev Log: Avoid two_valued_val_range_p for pointers. 2017-11-22 Marc Glisse PR tree-optimization/83104 gcc/ * vr-values.c (simplify_stmt_using_ranges): Check integral argument, not result. gcc/testsuite/ * gcc.c-torture/compile/pr83104.c: New file. Added: trunk/gcc/testsuite/gcc.c-torture/compile/pr83104.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/vr-values.c
[Bug tree-optimization/83104] [8 Regression] ICE: Segmentation fault
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83104 Richard Biener changed: What|Removed |Added Target Milestone|--- |8.0 --- Comment #3 from Richard Biener --- (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.
[Bug tree-optimization/83104] [8 Regression] ICE: Segmentation fault
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83104 --- Comment #2 from Marc Glisse --- 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)
[Bug tree-optimization/83104] [8 Regression] ICE: Segmentation fault
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83104 Markus Trippelsdorf changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2017-11-22 CC||glisse at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Markus Trippelsdorf --- Started with r255021 (POINTER_DIFF_EXPR).