2006-09-05 Paolo Bonzini <bonzini@gnu.org>
commit8d7243cc6ce2118fda04af20fa81835b3546306a
authorbonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 5 Sep 2006 17:41:22 +0000 (5 17:41 +0000)
committerbonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 5 Sep 2006 17:41:22 +0000 (5 17:41 +0000)
tree7a5dd2d54bd36f40c450bd564a63865f0fcb60b3
parent8aa27cc4fbfeaa373c5d191ddfcfb8ba493eaaaa
2006-09-05  Paolo Bonzini  <bonzini@gnu.org>

PR rtl-optimization/26847
* simplify-rtx.c (struct simplify_plus_minus_op_data): Remove ix.
(simplify_plus_minus_op_data_cmp): For REGs, break ties on the regno.
(simplify_plus_minus): Count n_constants while filling ops.  Replace
qsort with insertion sort.  Before going through the array to simplify
pairs, sort it.  Delay early exit until after the first sort, exiting
only if no swaps occurred.  Simplify pairs in reversed order, without
special-casing the first iteration.  Pack ops after simplifying pairs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116701 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/simplify-rtx.c