Adding support for replacing ljmps with sjmps in jumptables
authorfrief <frief@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Sun, 28 Nov 2004 14:17:41 +0000 (14:17 +0000)
committerfrief <frief@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Sun, 28 Nov 2004 14:17:41 +0000 (14:17 +0000)
generated for switch statements. For now you need to set the
environment variable SDCC_SJMP_JUMPTABLE to enable this.
Now 4 algorithms for mcs51 jumptable generation are used:
ljmp or sjmp jumptables for up to 16 cases, stack-pushing target
addresses loaded pc-relative for up to 112 cases and stack-pushing
target addresses loaded with offset from dptr for up to 256 cases.

* src/SDCCpeeph.c: added peephole conditional labelJTInRange
* src/mcs51/main.c: adapted constants for switch table generation
* src/mcs51/peeph.def: added 260.x for replacing ljmp with sjmp

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3590 4a8a32a2-be11-0410-ad9d-d568d2c75423

ChangeLog

index 89268a6072a6218624b7f3524d89677d271250cf..af926fdefd22a1d4015f92ac4e2fa0ad8c1b426b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,18 @@
-2004-11-18 Maarten Brock <sourceforge.brock AT dse.nl>
+2004-11-29 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+       Adding support for replacing ljmps with sjmps in jumptables
+       generated for switch statements. For now you need to set the
+       environment variable SDCC_SJMP_JUMPTABLE to enable this.
+       Now 4 algorithms for mcs51 jumptable generation are used:
+       ljmp or sjmp jumptables for up to 16 cases, stack-pushing target
+       addresses loaded pc-relative for up to 112 cases and stack-pushing
+       target addresses loaded with offset from dptr for up to 256 cases.
+
+       * src/SDCCpeeph.c: added peephole conditional labelJTInRange
+       * src/mcs51/main.c: adapted constants for switch table generation
+       * src/mcs51/peeph.def: added 260.x for replacing ljmp with sjmp
+
+2004-11-26 Maarten Brock <sourceforge.brock AT dse.nl>
 
        * device/lib/printf_large.c (_print_format): fixed bug 1073386
        * support/regression/tests/bug1057979.c: added test for bug 1073386
        * device/lib/_gptrput.c (_gptrput): _naked allows to use ret
          instead of sjmp to ret
        * src/mcs51/peeph.def: added peepholes 3.d-g and 177.g,h provided
-         by anonymous in RFE #1067986, thanks
+         by Hubert Sack <hsack2002 AT arcor.de> in RFE #1067986, thanks
 
 2004-11-18 Maarten Brock <sourceforge.brock AT dse.nl>