PR rtl-opt/27883
* flow.c (update_life_info): If UPDATE_LIFE_LOCAL and PROP_DEATH_NOTES
then call count_or_remove_death_notes.
2006-09-06 Andrew Pinski <pinskia@physics.uc.edu>
PR rtl-opt/27883
* g++.dg/opt/copysign-1.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116739
138bc75d-0d04-0410-961f-
82ee72b054a4
+2006-09-06 James E Wilson <wilson@specifix.com>
+
+ PR rtl-opt/27883
+ * flow.c (update_life_info): If UPDATE_LIFE_LOCAL and PROP_DEATH_NOTES
+ then call count_or_remove_death_notes.
+
2006-09-06 Jason Merrill <jason@redhat.com>
PR c++/27371
2006-09-06 Jason Merrill <jason@redhat.com>
PR c++/27371
count_or_remove_death_notes (blocks,
prop_flags & PROP_POST_REGSTACK ? -1 : 1);
}
count_or_remove_death_notes (blocks,
prop_flags & PROP_POST_REGSTACK ? -1 : 1);
}
+ else
+ {
+ /* FIXME: This can go when the dataflow branch has been merged in. */
+ /* For a local update, if we are creating new REG_DEAD notes, then we
+ must delete the old ones first to avoid conflicts if they are
+ different. */
+ if (prop_flags & PROP_DEATH_NOTES)
+ count_or_remove_death_notes (blocks,
+ prop_flags & PROP_POST_REGSTACK ? -1 : 1);
+ }
+
/* Clear log links in case we are asked to (re)compute them. */
if (prop_flags & PROP_LOG_LINKS)
/* Clear log links in case we are asked to (re)compute them. */
if (prop_flags & PROP_LOG_LINKS)
+2006-09-06 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR rtl-opt/27883
+ * g++.dg/opt/copysign-1.C: New test.
+
2006-09-06 Mark Mitchell <mark@codesourcery.com>
PR c++/28903
2006-09-06 Mark Mitchell <mark@codesourcery.com>
PR c++/28903
--- /dev/null
+// { dg-options "-O2" }
+// { dg-do compile }
+// PR rtl-opt/27883
+// MIPS used to ICE because local flow update
+// was not removing an invalid REG_DEAD.
+
+
+double copysign (double x, double y);
+double GetDouble();
+double a = copysign (1.0, GetDouble());