From 4daea54f87953bf9c8d9c70cd7b20c75d8396be9 Mon Sep 17 00:00:00 2001 From: frief Date: Fri, 22 Oct 2004 14:52:59 +0000 Subject: [PATCH] zeroing data from acculator after jnz comparison git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3553 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- src/mcs51/peeph.def | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/mcs51/peeph.def b/src/mcs51/peeph.def index 8fa20f57..e6540fcf 100644 --- a/src/mcs51/peeph.def +++ b/src/mcs51/peeph.def @@ -3418,6 +3418,30 @@ replace { %2: } if labelRefCount %2 0 +// applies to f.e. malloc.c +replace { + jnz %1 +%2: + mov %3,#0x00 + mov %4,#0x00 +} by { + ; Peephole 256.c loading %3,%4 with zero from a + jnz %1 + mov %3,a + mov %4,a +} if labelRefCount %2 0 + +// applies to f.e. bug-905492.c +replace { + jnz %1 +%2: + mov %3,#0x00 +} by { + ; Peephole 256.d loading %3 with zero from a + jnz %1 + mov %3,a +} if labelRefCount %2 0 + // unsigned char i=8; do{ } while(--i != 0); // this currently only applies if i is kept in a register -- 2.47.2