[Bug rtl-optimization/26847] [4.2 Regression] Missed optimization in simplify_plus_minus

bonzini at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Tue Sep 5 17:41:00 GMT 2006

------- Comment #4 from bonzini at gnu dot org  2006-09-05 17:41 -------
Subject: Bug 26847

Author: bonzini
Date: Tue Sep  5 17:41:22 2006
New Revision: 116701

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116701
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.




More information about the Gcc-bugs mailing list