[Bug rtl-optimization/55193] [4.8 Regression] ICE in in simplify_const_unary_operation, at simplify-rtx.c:1659
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55193 --- Comment #6 from Steven Bosscher steven at gcc dot gnu.org 2013-01-14 19:35:10 UTC --- Author: steven Date: Mon Jan 14 19:35:03 2013 New Revision: 195173 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=195173 Log: * ira-build.c (ira_flattening): Comment fix. Port the following LRA changes on trunk back to the LRA branch: 2013-01-10 Vladimir Makarov vmakarov at redhat dot com PR rtl-optimization/pr55672 * lra-eliminations.c (mark_not_elimnable): Permit addition with const to be elimnable. 2012-12-21 Vladimir Makarov vmakarov at redhat dot com PR middle-end/55775 * lra-assigns.c (improve_inheritance): Do nothing after LRA_MAX_INHERITANCE_PASSES pass. * lra-constraints.c (MAX_CONSTRAINT_ITERATION_NUMBER): Rename to LRA_MAX_CONSTRAINT_ITERATION_NUMBER. Move to lra-int.h. (MAX_INHERITANCE_PASSES): Rename to LRA_MAX_INHERITANCE_PASSES. Move to lra-int.h. * lra-int.h (LRA_MAX_CONSTRAINT_ITERATION_NUMBER): Move from lra-constraints.c. (LRA_MAX_INHERITANCE_PASSES): Ditto. 2012-12-21 Steve Ellcey sellcey at mips dot com PR bootstrap/54128 * ira.c (build_insn_chain): Check only NONDEBUG instructions for register usage. 2012-12-11 Jakub Jelinek jakub at redhat dot com PR rtl-optimization/55193 * lra-constraints.c (loc_equivalence_callback): New function. (lra_constraints): Call simplify_replace_fn_rtx instead of loc_equivalence_change_p on DEBUG_INSNs. Modified: branches/lra/gcc/ChangeLog branches/lra/gcc/ira-build.c branches/lra/gcc/ira.c branches/lra/gcc/lra-assigns.c branches/lra/gcc/lra-constraints.c branches/lra/gcc/lra-eliminations.c branches/lra/gcc/lra-int.h
[Bug rtl-optimization/55193] [4.8 Regression] ICE in in simplify_const_unary_operation, at simplify-rtx.c:1659
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55193 --- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org 2012-12-11 18:01:19 UTC --- Author: jakub Date: Tue Dec 11 18:01:09 2012 New Revision: 194405 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=194405 Log: PR rtl-optimization/55193 * lra-constraints.c (loc_equivalence_callback): New function. (lra_constraints): Call simplify_replace_fn_rtx instead of loc_equivalence_change_p on DEBUG_INSNs. Modified: trunk/gcc/ChangeLog trunk/gcc/lra-constraints.c
[Bug rtl-optimization/55193] [4.8 Regression] ICE in in simplify_const_unary_operation, at simplify-rtx.c:1659
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55193 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org 2012-12-11 19:15:21 UTC --- Fixed.
[Bug rtl-optimization/55193] [4.8 Regression] ICE in in simplify_const_unary_operation, at simplify-rtx.c:1659
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55193 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org 2012-12-10 17:44:57 UTC --- Can't be reproduced starting with http://gcc.gnu.org/viewcvs?root=gccview=revrev=193157 (made latent on this testcase), but if I revert the patch I can reproduce it easily. The bug is in lra-constraints.c, loc_equivalence_change_p really doesn't work well on DEBUG_INSNs.
[Bug rtl-optimization/55193] [4.8 Regression] ICE in in simplify_const_unary_operation, at simplify-rtx.c:1659
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55193 Jakub Jelinek jakub at gcc dot gnu.org changed: What|Removed |Added Status|NEW |ASSIGNED AssignedTo|unassigned at gcc dot |jakub at gcc dot gnu.org |gnu.org | --- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2012-12-10 17:53:01 UTC --- Created attachment 28915 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28915 gcc48-pr55193.patch Untested fix. For changes to DEBUG_INSNs, generally simplify_replace_fn_rtx is the best thing, it takes care of simplifying everything that is needed, both for the cases where something changes from non-VOIDmode into VOIDmode (then simplification is required; e.g. as on this testcase (zero_extend:DI (reg:SI eax) 0) where eax is replaced by (const_int 0)), and a nice thing to have otherwise.