* src/pic16/pcode.c (pic16_pCodeReplace): also update pcflow->end
[fw/sdcc] / ChangeLog
index fdad47e3c8170091db647f4b499d3d7ec3c41a9f..39475bebdce09698e1cae98b3dcc5d2001e9ad57 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,121 @@
+2005-04-06 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/pcode.c (pic16_pCodeReplace): also update pcflow->end
+       * (createDefmap): fixed CALLs to depend on FSR1 and RETLW to restore
+         callers stack/frame pointers
+
+2005-04-06 Vangelis Rokas <vrokas AT users.sourceforge.net>
+
+        * device/include/pic16/usart.h: added, missing in previous commit,
+        * device/include/pic16/adc.h: fixed typo,
+        * device/lib/pic16/libc/utils/cvtdec.S: added missing in previous
+        commit,
+        * device/lib/pic16/libc/stdlib/g_ftoa.S: modified to include
+        <p18fxxx.inc>
+        * device/lib/pic16/libc/stdio/streams.c: leave stdin, stdout
+        uninitialized because a bug appears with gplink
+        * device/lib/pic16/{some makefiles}: moved $(CSTD) from CFLAGS to
+        COMPILE_FLAGS and added CPPFLAGS with -nostdinc because sdcpp
+        complains for unrecognised option
+
+2005-04-05 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/gen.c (pic16_popCopyReg): made copying work for extended
+         structs as well (using memcpy)
+       * (genFunction): fixed comparison, used pCodeOpLabel to reduce warning
+         on ISRs (GOTO has no label)
+       * src/pic16/device.h: added OF_OPTIMIZE_DF
+       * src/pic16/main.c: added compiler switch --optimize-df to enable the
+         new data flow analysis/optimization
+       * src/pic16/pcode.c: added (prototypes for and implementation of)
+         dataflow analysis functions, fixed pCodeInstructions' inCond and
+         outCond values, made RCALL a branch instruction
+       * (pic16_unlinkpCode): keep C line if possible
+       * (pic16_pCodeUnlink): removed cast on left side of assignment, have
+         C line moved if possible
+       * (pic16_getRegFrompCodeOp): NEW, improved version of...
+       * (pic16_getRegFromInstruction,pic16_getRegFromInstruction2): changed
+         to use new pic16_getRegFrompCodeOp (works for more SFRs)
+       * (pic16_BuildFlow): fixed skip instructions with label (did not start
+         new flow)
+       * (pic16_getJumptabpCode): NEW, needed in...
+       * (LinkFlow): fixed handling of jumptables, calls and conditional
+         branches
+       * (pic16_InsertCommentAfter): NEW
+       * (pic16_pCodeReplace): made verbose and flow preserving
+       * (AnalyzeFlow): added call to data flow analysis
+       * src/pic16/pcode.h: added defmaps to pCodeFlow struct
+       * src/pic16/pcodeflow.h: added PCC_STATUS to mean all STATUS bits
+       * src/pic16/ralloc.c (packRegsForAssign): added return 1 in the end
+
+2005-04-03 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCCast.c (decorateType): fixed bug #1105626
+
+2005-04-02 Vangelis Rokas <vrokas AT users.sourceforge.net>
+
+        * device/include/asm/pic16/features.h,
+        * pic18f*.h headers,
+        * device/include/pic16/adc.h,
+        * device/include/pic16/delay.h,
+        * device/include/pic16/i2c.h,
+        * device/include/pic16/malloc.h,
+        * device/include/pic16/stdio.h,
+        * device/include/pic16/stdlib.h,
+        * device/include/pic16/string.h,
+        * device/lib/pic16/libc/stdio/printf_tiny.c,
+        * device/lib/pic16/libc/stdio/printf_small.c,
+        * device/lib/pic16/libc/stdio/strmgpsim.c,
+        * device/lib/pic16/libc/stdio/strmmssp.c,
+        * device/lib/pic16/libc/stdio/strmusart.c,
+        * device/lib/pic16/libc/stdio/vfprintf.c,
+        * device/lib/pic16/libc/stdlib/ltoa.c,
+        * device/lib/pic16/libc/stdlib/putchar.c,
+        * device/lib/pic16/libc/stdlib/x_ftoa.c,
+        * device/lib/pic16/libc/stdlib/memchrpgm.c,
+        * device/lib/pic16/libc/stdlib/memchrram.c,
+        * device/lib/pic16/libc/stdlib/memcpypgm2ram.c,
+        * device/lib/pic16/libc/stdlib/memcpyram2ram.c,
+        * device/lib/pic16/libio/adc/adcbusy.c,
+        * device/lib/pic16/libio/adc/adcread.c,
+        * device/lib/pic16/libio/adc/adcsetch.c,
+        * device/lib/pic16/libio/usart/ubaud.c,
+        * device/lib/pic16/libio/usart/ubusy.c,
+        * device/lib/pic16/libio/usart/udrdy.c,
+        * device/lib/pic16/libio/usart/uopen.c,
+        * device/lib/pic16/libio/usart/uputc.c,
+        * device/lib/pic16/libsdcc/gptr/gptrget1.c,
+        * device/lib/pic16/libsdcc/gptr/gptrget2.c,
+        * device/lib/pic16/libsdcc/gptr/gptrget3.c,
+        * device/lib/pic16/libsdcc/gptr/gptrget4.c,
+        * device/lib/pic16/libsdcc/gptr/gptrput1.c,
+        * device/lib/pic16/libsdcc/gptr/gptrput2.c,
+        * device/lib/pic16/libsdcc/gptr/gptrput3.c,
+        * device/lib/pic16/libsdcc/gptr/gptrput4.c: modified all SDCC
+        specific keywords to double underlined form,
+        * device/lib/pic16/libc/Makefile.rules,
+        * device/lib/pic16/libsdcc/Makefile.rules,
+        * device/lib/pic16/libm/Makefile,
+        * device/lib/pic16/libio/Makefile.rules: added CSTD macro in CFLAGS
+        to compile with C standard set in Makefile.common
+        * device/lib/pic16/libc/stdlib/Makefile: added new C sources
+        rand.c and crc.c in compilation process,
+        * device/lib/pic16/libsdcc/int/divuint.c,
+        * device/lib/pic16/libsdcc/long/divulong.c: changed declaration of
+        `c' from signed to unsigned,
+        * device/lib/pic16/startup/crt0.c,
+        * device/lib/pic16/startup/crt0i.c,
+        * device/lib/pic16/startup/crt0iz.c: adopted to all SDCC specific
+        keywords to double underlined form, bug fixes in _do_cinit function
+        which prevented the correct initialization of the .idata segment,
+        * src/pic16/pcoderegs.c (insideLRBlock): fixed a bug that caused the
+        core to enter a infinite loop
+        * device/lib/pic16/libc/stdlib/rand.c, crc.c: new files
+
+2005-04-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCCicode.c (getArraySizePtr): fixed bug #1122171
+
 2005-04-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
 
        * device/include/Makefile.in: add support for hc08 subdirectory