diff options
author | Jan Hubicka <jh@suse.cz> | 2004-01-20 23:16:59 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2004-01-20 22:16:59 +0000 |
commit | 3e89ed8dd36d61b8ebb6dea3a21c55a56d1662ac (patch) | |
tree | 4e90a38b800d7602fd7eb1d4fd8ad649cb0465f5 /gcc/genemit.c | |
parent | 9b57b627f005582f50c30ada127a688c2b9e0f7f (diff) | |
download | gcc-3e89ed8dd36d61b8ebb6dea3a21c55a56d1662ac.zip gcc-3e89ed8dd36d61b8ebb6dea3a21c55a56d1662ac.tar.gz gcc-3e89ed8dd36d61b8ebb6dea3a21c55a56d1662ac.tar.bz2 |
emit-rtl.c (verify_rtx_sharing, [...]): Clobbers containing hard regs are shared.
* emit-rtl.c (verify_rtx_sharing, copy_insn_1,
emit_copy_of_insn_after, emit_copy_of_insn_after): Clobbers
containing hard regs are shared.
(gen_hard_reg_clobber): New function.
(hard_reg_clobbers): New array.
* genemit.c (gen_exp): Use gen_hard_reg_clobber.
(copy_rtx): Do not copy clobbers containing hard regs.
* rtl.h (gen_hard_reg_clobber): Declare.
From-SVN: r76233
Diffstat (limited to 'gcc/genemit.c')
-rw-r--r-- | gcc/genemit.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/genemit.c b/gcc/genemit.c index 0e695d2..0ab88b0 100644 --- a/gcc/genemit.c +++ b/gcc/genemit.c @@ -217,6 +217,14 @@ gen_exp (rtx x, enum rtx_code subroutine_type, char *used) case PC: printf ("pc_rtx"); return; + case CLOBBER: + if (REG_P (XEXP (x, 0))) + { + printf ("gen_hard_reg_clobber (%smode, %i)", GET_MODE_NAME (GET_MODE (XEXP (x, 0))), + REGNO (XEXP (x, 0))); + return; + } + break; case CC0: printf ("cc0_rtx"); |