ira-color: fix allocno_priority_compare_func for qsort (PR 82395)
PR rtl-optimization/82395 * ira-color.c (allocno_priority_compare_func): Fix comparison step based on non_spilled_static_chain_regno_p. From-SVN: r253904
This commit is contained in:
parent
8fb0214b66
commit
158ec0181d
2 changed files with 10 additions and 5 deletions
|
@ -1,3 +1,9 @@
|
|||
2017-10-19 Alexander Monakov <amonakov@ispras.ru>
|
||||
|
||||
PR rtl-optimization/82395
|
||||
* ira-color.c (allocno_priority_compare_func): Fix comparison step
|
||||
based on non_spilled_static_chain_regno_p.
|
||||
|
||||
2017-10-19 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
* config/i386/i386.c (output_387_binary_op): Rewrite SSE part.
|
||||
|
|
|
@ -3005,14 +3005,13 @@ allocno_priority_compare_func (const void *v1p, const void *v2p)
|
|||
{
|
||||
ira_allocno_t a1 = *(const ira_allocno_t *) v1p;
|
||||
ira_allocno_t a2 = *(const ira_allocno_t *) v2p;
|
||||
int pri1, pri2;
|
||||
int pri1, pri2, diff;
|
||||
|
||||
/* Assign hard reg to static chain pointer pseudo first when
|
||||
non-local goto is used. */
|
||||
if (non_spilled_static_chain_regno_p (ALLOCNO_REGNO (a1)))
|
||||
return 1;
|
||||
else if (non_spilled_static_chain_regno_p (ALLOCNO_REGNO (a2)))
|
||||
return -1;
|
||||
if ((diff = (non_spilled_static_chain_regno_p (ALLOCNO_REGNO (a2))
|
||||
- non_spilled_static_chain_regno_p (ALLOCNO_REGNO (a1)))) != 0)
|
||||
return diff;
|
||||
pri1 = allocno_priorities[ALLOCNO_NUM (a1)];
|
||||
pri2 = allocno_priorities[ALLOCNO_NUM (a2)];
|
||||
if (pri2 != pri1)
|
||||
|
|
Loading…
Add table
Reference in a new issue