diff options
author | Jim Wilson <wilson@gcc.gnu.org> | 1996-01-24 12:11:09 -0800 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 1996-01-24 12:11:09 -0800 |
commit | 8b4f9969f1d80d723e05ba143823435024c12949 (patch) | |
tree | f9c42f2295c1710f47066b3f327fcc7df6905e79 /gcc | |
parent | c170c8c2082ab34698e648b534c585e7eabcd3bc (diff) | |
download | gcc-8b4f9969f1d80d723e05ba143823435024c12949.tar.gz |
(used_spill_regs): New variable.
(reload): Set it.
From-SVN: r11092
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/reload1.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/reload1.c b/gcc/reload1.c index 3f5403c320c..205810364c5 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -170,6 +170,13 @@ static HARD_REG_SET bad_spill_regs; elements that are actually valid; new ones are added at the end. */ static short spill_regs[FIRST_PSEUDO_REGISTER]; +/* This reg set indicates those registers that have been used a spill + registers. This information is used in reorg.c, to help figure out + what registers are live at any point. It is assumed that all spill_regs + are dead at every CODE_LABEL. */ + +HARD_REG_SET used_spill_regs; + /* Index of last register assigned as a spill register. We allocate in a round-robin fashion. */ @@ -2026,6 +2033,10 @@ reload (first, global, dumpfile) free (scratch_block); scratch_block = 0; + CLEAR_HARD_REG_SET (used_spill_regs); + for (i = 0; i < n_spills; i++) + SET_HARD_REG_BIT (used_spill_regs, spill_regs[i]); + return failure; } |