blob: 3f873e7fe6ae5122d3999f5d7dc050ed43c837c8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
2010-10-13 Chung-Lin Tang <cltang@codesourcery.com>
Backport from mainline:
2010-04-20 James E. Wilson <wilson@codesourcery.com>
gcc/
PR rtl-optimization/43520
* ira-lives.c (ira_implicitly_set_insn_hard_regs): Exclude classes with
zero available registers.
=== modified file 'gcc/ira-lives.c'
Index: gcc-4.5/gcc/ira-lives.c
===================================================================
--- gcc-4.5.orig/gcc/ira-lives.c
+++ gcc-4.5/gcc/ira-lives.c
@@ -805,6 +805,9 @@ ira_implicitly_set_insn_hard_regs (HARD_
? GENERAL_REGS
: REG_CLASS_FROM_CONSTRAINT (c, p));
if (cl != NO_REGS
+ /* There is no register pressure problem if all of the
+ regs in this class are fixed. */
+ && ira_available_class_regs[cl] != 0
&& (ira_available_class_regs[cl]
<= ira_reg_class_nregs[cl][mode]))
IOR_HARD_REG_SET (*set, reg_class_contents[cl]);
|