diff options
author | Alexander Monakov <amonakov@ispras.ru> | 2017-07-20 18:15:55 +0300 |
---|---|---|
committer | Alexander Monakov <amonakov@gcc.gnu.org> | 2017-07-20 18:15:55 +0300 |
commit | f0a404561c4abc2fcb6015cc96ca779b8eecc411 (patch) | |
tree | 74d95805cb92b58f651951140b1a44054bb3b68a | |
parent | 109cca3b53eaf9883143a095ce277de26fc7da4f (diff) | |
download | gcc-f0a404561c4abc2fcb6015cc96ca779b8eecc411.zip gcc-f0a404561c4abc2fcb6015cc96ca779b8eecc411.tar.gz gcc-f0a404561c4abc2fcb6015cc96ca779b8eecc411.tar.bz2 |
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
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/lra-assigns.c | 7 |
2 files changed, 8 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9eb61fe..cb7e697 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 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. 2017-07-20 Jan Hubicka <hubicka@ucw.cz> diff --git a/gcc/lra-assigns.c b/gcc/lra-assigns.c index 42556d3..2aadeef 100644 --- a/gcc/lra-assigns.c +++ b/gcc/lra-assigns.c @@ -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) |