Branch: Tag:

2002-02-26

2002-02-26 18:53:21 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Fixed too optimistic optimization.

Rev: src/peep.in:1.62

1:   //   // -*- C -*-   // - // $Id: peep.in,v 1.61 2001/08/31 07:19:19 hubbe Exp $ + // $Id: peep.in,v 1.62 2002/02/26 18:53:21 grubba Exp $   //      NOP :
42:   LOCAL_2_LOCAL [$1a == $1b] :      // Remove clearing of locals from the beginning of functions - START_FUNCTION LABEL(0) CLEAR_LOCAL : LABEL(0) - START_FUNCTION LABEL(0) CLEAR_2_LOCAL : LABEL(0) - START_FUNCTION LABEL(0) CLEAR_4_LOCAL : LABEL(0) + // But don't remove clearing of arguments! + BYTE ENTRY START_FUNCTION LABEL(0) CLEAR_LOCAL [$1a <= $5a] : BYTE($1a) ENTRY START_FUNCTION LABEL(0) + BYTE ENTRY START_FUNCTION LABEL(0) CLEAR_2_LOCAL [$1a <= $5a] : BYTE($1a) ENTRY START_FUNCTION LABEL(0) + BYTE ENTRY START_FUNCTION LABEL(0) CLEAR_4_LOCAL [$1a <= $5a] : BYTE($1a) ENTRY START_FUNCTION LABEL(0)    - START_FUNCTION CLEAR_LOCAL : - START_FUNCTION CLEAR_2_LOCAL : - START_FUNCTION CLEAR_4_LOCAL : + BYTE ENTRY START_FUNCTION CLEAR_LOCAL [$1a <= $4a] : BYTE($1a) ENTRY START_FUNCTION + BYTE ENTRY START_FUNCTION CLEAR_2_LOCAL [$1a <= $4a] : BYTE($1a) ENTRY START_FUNCTION + BYTE ENTRY START_FUNCTION CLEAR_4_LOCAL [$1a <= $4a] : BYTE($1a) ENTRY START_FUNCTION      CLEAR_LOCAL NUMBER(0) ASSIGN_LOCAL_AND_POP ($1a) : CLEAR_LOCAL($1a)   CLEAR_LOCAL NUMBER(0) ASSIGN_LOCAL_AND_POP ($1a+1) : CLEAR_2_LOCAL($1a)