On 08/08/2011 10:35 PM, H.J. Lu wrote:
On Mon, Aug 8, 2011 at 4:19 PM, Vladimir Makarov<vmaka...@redhat.com>  wrote:
The following patch fixes PR49990.  The problem is described on

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49936

Reg classes which can not change modes for some pseudo were excluded from
the consideration.  As I wrote recently, they should not.  Instead the
correct cost for changing mode (by moving through memory or other class
register) should be taken into the account.  I believe the cost is already
calculated rightly for this case, fortunately.

The patch was successfully bootstrapped on x86-64 and ppc64.  Actually I did
not find a difference in generated code on variety tests on x86/x86-64 and
arm (that is what I tried).

Committed as rev. 177575.



2011-08-08  Vladimir Makarov<vmaka...@redhat.com>

        PR rtl-optimization/49990
        * ira-costs.c (print_allocno_costs, print_pseudo_costs): Don't
        ignore classes which can not change mode.
        (find_costs_and_classes): Ditto.


It breaks GCC on Linux/x86:

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50026


Thanks for reporting.

I reverted the patch although I can not still reproduce it on my machine.

Reply via email to