[Bug rtl-optimization/55193] [4.8 Regression] ICE in in simplify_const_unary_operation, at simplify-rtx.c:1659

2013-01-14 Thread steven at gcc dot gnu.org


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

2012-12-11 Thread jakub at gcc dot gnu.org


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

2012-12-11 Thread jakub at gcc dot gnu.org


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

2012-12-10 Thread jakub at gcc dot gnu.org


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

2012-12-10 Thread jakub at gcc dot gnu.org


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.