summaryrefslogtreecommitdiff
path: root/gcc/genemit.c
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2004-01-20 22:16:59 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2004-01-20 22:16:59 +0000
commitc09425a054eba423ceb4a2382e93d7d9ea15f1c3 (patch)
tree4e90a38b800d7602fd7eb1d4fd8ad649cb0465f5 /gcc/genemit.c
parent81dd33bf17e28c74292e72136eeebe7550b8bdc6 (diff)
downloadgcc-c09425a054eba423ceb4a2382e93d7d9ea15f1c3.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@76233 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/genemit.c')
-rw-r--r--gcc/genemit.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/genemit.c b/gcc/genemit.c
index 0e695d2729c..0ab88b00dd4 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");