lra-assigns.c: fix pseudo_compare_func

* lra-assigns.c (pseudo_compare_func): Fix comparison step based on
	non_spilled_static_chain_regno_p.

From-SVN: r250395
This commit is contained in:
Alexander Monakov 2017-07-20 18:15:55 +03:00 committed by Alexander Monakov
parent 109cca3b53
commit f0a404561c
2 changed files with 8 additions and 4 deletions

View file

@ -1,3 +1,8 @@
2017-07-20 Alexander Monakov <amonakov@ispras.ru>
* lra-assigns.c (pseudo_compare_func): Fix comparison step based on
non_spilled_static_chain_regno_p.
2017-07-20 Alexander Monakov <amonakov@ispras.ru>
* gimple-ssa-store-merging.c (sort_by_bitpos): Return 0 on equal bitpos.

View file

@ -253,10 +253,9 @@ pseudo_compare_func (const void *v1p, const void *v2p)
/* Assign hard reg to static chain pointer first pseudo when
non-local goto is used. */
if (non_spilled_static_chain_regno_p (r1))
return -1;
else if (non_spilled_static_chain_regno_p (r2))
return 1;
if ((diff = (non_spilled_static_chain_regno_p (r2)
- non_spilled_static_chain_regno_p (r1))) != 0)
return diff;
/* Prefer to assign more frequently used registers first. */
if ((diff = lra_reg_info[r2].freq - lra_reg_info[r1].freq) != 0)