From 9537bbab3623334604a36cd3b333e7c1a65a9bee Mon Sep 17 00:00:00 2001 From: kazu Date: Tue, 9 Mar 2004 14:37:05 +0000 Subject: [PATCH] * config/m32r/m32r.md: Remove all define_peephole's. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@79170 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 4 ++++ gcc/config/m32r/m32r.md | 58 ------------------------------------------------- 2 files changed, 4 insertions(+), 58 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 43dc9cb..abdf3fa 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2004-03-09 Kazu Hirata + + * config/m32r/m32r.md: Remove all define_peephole's. + 2004-03-09 Alan Modra * config/rs6000/rs6000.md: Remove trailing whitespace. diff --git a/gcc/config/m32r/m32r.md b/gcc/config/m32r/m32r.md index 8880136..b969bb1 100644 --- a/gcc/config/m32r/m32r.md +++ b/gcc/config/m32r/m32r.md @@ -2599,64 +2599,6 @@ ) -;; Split up troublesome insns for better scheduling. -;; FIXME: Peepholes go at the end. - -;; ??? Setting the type attribute may not be useful, but for completeness -;; we do it. - -(define_peephole - [(set (mem:SI (plus:SI (match_operand:SI 0 "register_operand" "r") - (const_int 4))) - (match_operand:SI 1 "register_operand" "r"))] - "0 && dead_or_set_p (insn, operands[0])" - "st %1,@+%0" - [(set_attr "type" "store2") - (set_attr "length" "2")]) - -;; This case is triggered by compiling this code: -;; -;; extern void sub(int *); -;; void main (void) -;; { -;; int i=2,j=3,k; -;; while (i < j) sub(&k); -;; i = j / k; -;; sub(&i); -;; i = j - k; -;; sub(&i); -;; } -;; -;; Without the peephole the following assembler is generated for the -;; divide and subtract expressions: -;; -;; div r5,r4 -;; mv r4,r5 -;; st r4,@(4,sp) -;; bl sub -;; -;; Similar code is produced for the subtract expression. With this -;; peephole the redundant move is eliminated. -;; -;; This optimization only works if PRESERVE_DEATH_INFO_REGNO_P is -;; defined in m32r.h - -(define_peephole - [(set (match_operand:SI 0 "register_operand" "r") - (match_operand:SI 1 "register_operand" "r") - ) - (set (mem:SI (plus: SI (match_operand:SI 2 "register_operand" "r") - (match_operand:SI 3 "immediate_operand" "J"))) - (match_dup 0) - ) - ] - "0 && dead_or_set_p (insn, operands [0])" - "st %1,@(%3,%2)" - [(set_attr "type" "store4") - (set_attr "length" "4") - ] -) - ;; Block moves, see m32r.c for more details. ;; Argument 0 is the destination ;; Argument 1 is the source -- 2.7.4