cond.md (cond_to_int peephole2): Don't eliminate the insns if the intermediate value will be used later.
* config/m32c/cond.md (cond_to_int peephole2): Don't eliminate the insns if the intermediate value will be used later. From-SVN: r141788
This commit is contained in:
parent
429ce9927e
commit
d2cf2f07a9
|
@ -1,3 +1,8 @@
|
||||||
|
2008-11-12 DJ Delorie <dj@redhat.com>
|
||||||
|
|
||||||
|
* config/m32c/cond.md (cond_to_int peephole2): Don't eliminate the
|
||||||
|
insns if the intermediate value will be used later.
|
||||||
|
|
||||||
2008-11-12 Andreas Schwab <schwab@suse.de>
|
2008-11-12 Andreas Schwab <schwab@suse.de>
|
||||||
|
|
||||||
* config/m68k/m68k.c (print_operand): Mask off extra extension
|
* config/m68k/m68k.c (print_operand): Mask off extra extension
|
||||||
|
|
|
@ -300,7 +300,9 @@
|
||||||
[(set_attr "flags" "x")]
|
[(set_attr "flags" "x")]
|
||||||
)
|
)
|
||||||
|
|
||||||
;; A cond_to_int followed by a compare against zero is essentially a no-op.
|
;; A cond_to_int followed by a compare against zero is essentially a
|
||||||
|
;; no-op. However, the result of the cond_to_int may be used by later
|
||||||
|
;; insns, so make sure it's dead before deleting its set.
|
||||||
|
|
||||||
(define_peephole2
|
(define_peephole2
|
||||||
[(set (match_operand:HI 0 "mra_qi_operand" "")
|
[(set (match_operand:HI 0 "mra_qi_operand" "")
|
||||||
|
@ -313,6 +315,7 @@
|
||||||
(compare (match_operand:HI 1 "mra_qi_operand" "")
|
(compare (match_operand:HI 1 "mra_qi_operand" "")
|
||||||
(const_int 0)))
|
(const_int 0)))
|
||||||
]
|
]
|
||||||
"rtx_equal_p(operands[0], operands[1])"
|
"rtx_equal_p (operands[0], operands[1])
|
||||||
|
&& dead_or_set_p (peep2_next_insn (1), operands[0])"
|
||||||
[(const_int 1)]
|
[(const_int 1)]
|
||||||
"")
|
"")
|
||||||
|
|
Loading…
Reference in New Issue