diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1996-03-31 05:10:01 -0500 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1996-03-31 05:10:01 -0500 |
commit | e4329280ac5f866a44f552a247b5b7f356495dd3 (patch) | |
tree | 962f3d348a0277fa81522389b0d198efa2d90b9d | |
parent | dc1d6150715922e41fa076706587fbd5de6203a7 (diff) | |
download | gcc-e4329280ac5f866a44f552a247b5b7f356495dd3.zip gcc-e4329280ac5f866a44f552a247b5b7f356495dd3.tar.gz gcc-e4329280ac5f866a44f552a247b5b7f356495dd3.tar.bz2 |
(propagate_block): CALL_INSNs don't kill fixed regs.
From-SVN: r11646
-rw-r--r-- | gcc/flow.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -1622,12 +1622,13 @@ propagate_block (old, first, last, final, significant, bnum) final, insn); /* Each call clobbers all call-clobbered regs that are not - global. Note that the function-value reg is a + global or fixed. Note that the function-value reg is a call-clobbered reg, and mark_set_regs has already had a chance to handle it. */ for (i = 0; i < FIRST_PSEUDO_REGISTER; i++) - if (call_used_regs[i] && ! global_regs[i]) + if (call_used_regs[i] && ! global_regs[i] + && ! fixed_regs[i]) dead[i / REGSET_ELT_BITS] |= ((REGSET_ELT_TYPE) 1 << (i % REGSET_ELT_BITS)); |