aboutsummaryrefslogtreecommitdiff
path: root/gcc/rtl.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2004-01-20 23:16:59 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2004-01-20 22:16:59 +0000
commit3e89ed8dd36d61b8ebb6dea3a21c55a56d1662ac (patch)
tree4e90a38b800d7602fd7eb1d4fd8ad649cb0465f5 /gcc/rtl.c
parent9b57b627f005582f50c30ada127a688c2b9e0f7f (diff)
downloadgcc-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/rtl.c')
-rw-r--r--gcc/rtl.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/rtl.c b/gcc/rtl.c
index 313e2cb..87ffcbb 100644
--- a/gcc/rtl.c
+++ b/gcc/rtl.c
@@ -224,6 +224,10 @@ copy_rtx (rtx orig)
/* SCRATCH must be shared because they represent distinct values. */
case ADDRESSOF:
return orig;
+ case CLOBBER:
+ if (REG_P (XEXP (orig, 0)) && REGNO (XEXP (orig, 0)) < FIRST_PSEUDO_REGISTER)
+ return orig;
+ break;
case CONST:
/* CONST can be shared if it contains a SYMBOL_REF. If it contains