From 0cf06f41693869fcc73d996a435dc39641c3185a Mon Sep 17 00:00:00 2001 From: frief Date: Mon, 25 Oct 2004 17:55:52 +0000 Subject: [PATCH] removed 259.a,b. See comment at peephole 259.a git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3557 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- src/mcs51/peeph.def | 44 ++++++++++++++++++++++++++------------------ 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/src/mcs51/peeph.def b/src/mcs51/peeph.def index e6540fcf..b8f09739 100644 --- a/src/mcs51/peeph.def +++ b/src/mcs51/peeph.def @@ -3568,24 +3568,32 @@ replace { mov %1,a } if notVolatile %1 +// Peepholes 259.x are not compatible with peepholex 250.x +// Peepholes 250.x add jumps to a previously unused label. As the +// labelRefCount is not increased, peepholes 259.x are (mistakenly) applied. +// (Mail on sdcc-devel 2004-10-25) +// Note: Peepholes 193..199, 251 remove jumps to previously used labels without +// decreasing labelRefCount (less dangerous - this f.e. leads to 253.c being +// applied instead of 253.b)) +// // applies to f.e. vprintf.c -replace { - sjmp %1 -%2: - ret -} by { - sjmp %1 - ; Peephole 259.a removed redundant label %2 and ret - ; -} if labelRefCount %2 0 +//replace { +// sjmp %1 +//%2: +// ret +//} by { +// sjmp %1 +// ; Peephole 259.a removed redundant label %2 and ret +// ; +//} if labelRefCount %2 0 // applies to f.e. gets.c -replace { - ljmp %1 -%2: - ret -} by { - ljmp %1 - ; Peephole 259.b removed redundant label %2 and ret - ; -} if labelRefCount %2 0 +//replace { +// ljmp %1 +//%2: +// ret +//} by { +// ljmp %1 +// ; Peephole 259.b removed redundant label %2 and ret +// ; +//} if labelRefCount %2 0 -- 2.47.2