re PR target/14542 (ICE on simple source)

PR target/14542
	* config/m68hc11/m68hc11.md (move peephole2): Emit a use note to avoid
	a live change of a register after peephole replacement.

From-SVN: r82673
This commit is contained in:
Stephane Carrez 2004-06-06 19:01:07 +02:00 committed by Stephane Carrez
parent 10bc1b1bec
commit 37f40c9cfd
2 changed files with 13 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2004-06-06 Stephane Carrez <stcarrez@nerim.fr>
PR target/14542
* config/m68hc11/m68hc11.md (move peephole2): Emit a use note to avoid
a live change of a register after peephole replacement.
2004-06-06 Joseph S. Myers <jsm@polyomino.org.uk>
PR c/13519

View File

@ -6925,6 +6925,11 @@
gen_rtx_REG (HImode, HARD_SP_REGNUM)));")
;; Replace: "pshx; tfr d,x; stx 0,sp" into "pshd; tfr d,x"
;;
;; PR 14542: emit a use to pretend we need the value of initial register.
;; Otherwise verify_local_live_at_start will abort due to a live change
;; of that register.
;;
(define_peephole2
[(set (mem:HI (pre_dec:HI (reg:HI SP_REGNUM)))
(match_operand:HI 0 "hard_reg_operand" ""))
@ -6933,7 +6938,8 @@
(set (mem:HI (reg:HI SP_REGNUM))
(match_dup 0))]
"TARGET_M6812"
[(set (mem:HI (pre_dec:HI (reg:HI SP_REGNUM)))
[(use (match_dup 0))
(set (mem:HI (pre_dec:HI (reg:HI SP_REGNUM)))
(match_dup 1))
(set (match_dup 0) (match_dup 1))]
"")