diff options
author | Kazu Hirata <kazu@cs.umass.edu> | 2004-03-09 14:37:05 +0000 |
---|---|---|
committer | Kazu Hirata <kazu@gcc.gnu.org> | 2004-03-09 14:37:05 +0000 |
commit | c0e63064edf05949af01937c7982eabf98211c8d (patch) | |
tree | 7d76cc37bf5e0adb01126fb17bd6caf4748c9d11 /gcc | |
parent | 6ae08853b649e38fa387ef5d5a3153d46f2ecbf7 (diff) | |
download | gcc-c0e63064edf05949af01937c7982eabf98211c8d.zip gcc-c0e63064edf05949af01937c7982eabf98211c8d.tar.gz gcc-c0e63064edf05949af01937c7982eabf98211c8d.tar.bz2 |
* config/m32r/m32r.md: Remove all define_peephole's.
From-SVN: r79170
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | 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 <kazu@cs.umass.edu> + + * config/m32r/m32r.md: Remove all define_peephole's. + 2004-03-09 Alan Modra <amodra@bigpond.net.au> * 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 |