X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=ChangeLog;h=5fe897c46a95a6a645802e2901baa817bdf08457;hb=6474449850aeace128aebe2d7f387ac7c550bcc5;hp=be2937656fbd9a907b1b389d66d85810158c1a36;hpb=bf1925f901a9f45ad2529874f41e1e2b01f5bc9f;p=fw%2Fsdcc diff --git a/ChangeLog b/ChangeLog index be293765..5fe897c4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,218 @@ +2005-01-22 Vangelis Rokas + + * .version: bumped version number to 2.4.8 + * device/lib/pic16/pics.all: list of PIC18F devices supported by + pic16 port, + * device/lib/pic16/libio/i2c/: I2C module support library, + * device/include/pic16/i2c.h: I2C support library header, + * device/lib/pic16/libc/stdio/: standard IO support sources, + * (printf_small.c): printf_small() source, supports float print, + * (printf_tiny.c): printf_tiny() source, does not support floats, + * device/lib/pic16/Makefile.common.in: added OPT_FLAGS macro to + enable global optimizations for entire library source, other + Makefiles in the source tree are also modified to reflect this, + * device/lib/pic16/libc/stdlib/putchar.c (putchar): dummy putchar() + function, + * doc/sdccman.lyx: updated to reflect new changes, + * src/pic16/gen.c (aopForSym): don't handle sym->iaccess in + sym->onStack if-case, + * src/pic16/main.c (_pic16_keywords): commented out keywords bit, + sbit, idata, _idata, xdata, _xdata, + * added pragma library, to link an external library, (see doc), + * removed command line options, --pomit-config-words, --pomit-ivt, + --pleave-reset-vector, + * (pic16_finaliseOptions): when define macro SDCC_MODEL_{SMALL/LARGE} + when calling assembler to reflect memory model used, also define + macro STACK_MODEL_{SMALL/LARGE} when compiling and assembling to + reflect stack model used, + * src/pic16/ralloc.c (pic16_allocDirReg): when operand is allocated + on stack return NULL, + +2005-01-22 Daniel Winkler + + * src/SDCCopt.c (killDeadCode): do not throw iCodes away if one + of the operands is volatile. Fixes #1020220 + +2005-01-22 Daniel Winkler + + * src/pic16/pcoderegs.c (pCodeOptime2pCodes): reenabled optimization + * (OptimizeRegUsage): make sure that there is really no other flow where + the first pCode is used + +2005-01-22 Raphael Neider + + * src/pic16/pcoderegs.c (pCodeOptime2pCodes): disabled optimization + to fix #1106967 (pCode->seq are not set up correctly) + +2004-01-22 Erik Petrich + + * src/SDCCglue.c (glue): make sure code area is declared before the + static initialization area. + +2005-01-21 Raphael Neider + + * device/lib/Makefile.in: fixed test for pic16 install dir + * device/lib/pic16/*/Makefile*: modified compile flags to enable + optimizations + * doc/sdccman.lyx: updated banksel optimization, removed --flr-support and + added --optimize-goto compiler switch and pragma wparam documentation + * src/pic16/pcode.c (pic16_OptimizeBanksel): removed statistics dump + * src/pic16/pcodepeep.c (pic16_pCodeOpCopy): fixed copying of WREG, PRODL + and PRODH closing bug #1071770 (peephole optimizer) + +2005-01-19 Raphael Neider + + * src/SDCCglobl.h: ensure that PATH_MAX >= 2048 to guarantee + cmdLine buffers (used when calling sdcpp...) are large enough + (MAX_PATH=256 truncates arguments leading to system halts when + used in MinGW...) + * src/pic16/gen.c (pic16_sameRegs): relaxed size criterion + * (genUminus): rewritten to for efficiency + * (genNearPointer[GS]et): enforce reloading of FSR0 (was still + used uninitialized in some cases) + * (genCast): upcasting a 16bit int to a 24bit GPOINTER may not + copy the third byte from the int -- now assumes 0x80 (data memory) + * src/pic16/genarith.c (pic16_genPlus): fixed bug when swapping + operands (genAddLit expects the iCode's operands to swapped as + well), fixed leftover bytes (crashed for short left operands) + * (pic16_genMinusDec): performance improvements, removed false + PIC14 emitSKPNCs + * (pic16_genMinus): fixed to cope with differently sized operands + * src/pic16/glue.c (pic16_glue): added new banksel optimization + for --obanksel > 1 + * src/pic16/pcode.c: implemented (first phase of) banksel optimization + * src/pic16/graph.[ch]: implementation of directed graphs, used by + new banksel optimization + * src/pic16/pcoderegs.c (pCodeRegMapLiveRangesInFlow): prevented + analysis for temporary registers (segfaults...) + * src/pic16/peeph.def: added rule + +2005-01-18 Vangelis Rokas + + * device/lib/pic16/libc/stdlib/x_ftoa.c: it defines x_ftoa function + which converts a float number to its ASCII representation + * device/lib/pic16/libc/utils/cnvfrac.S,cnvint.S: support + functions to convert the fractional and integer part of a float to ASCII, + * device/lib/pic16/libc/stdlib/(calloc.c,free.c, malloc.c, + realloc.c): added _MALLOC_SPEC to explicit place variables in data + ram + * device/include/asm/pic16/features.h: added _CODE, _DATA, _AUTOMEM, + _STATMEM macros, + * device/include/pic16/adc.h: added GPL info, + * src/pic16/gen.c (genIfxpCOpJump): perform an genIfxJump but using + a pCodeOp as tested operand, + * (genNearPointerGet): optimized bit testing, does not use + intermediate register for bit value, test directly instead with + BTFSS, BTFSC, works only for single bits, + * (genpic16Code): dump the name of the iCode in the asm, + * src/pic16/ralloc.c (decodeOp): removed static declaration and + renamed to pic16_decodeOp, + * (serialRegAssign): do not allocate a temporary register for iCode + sequences that test a single bit for 1/0 + +2005-01-12 Vangelis Rokas + + * src/pic16/pcode.[ch]: introduced pic16_stackpnt_*, + pic16_framepnt_*, pic16_stack_*, pic1_frame_* pointer variables to + access stack and frame pointers. They are initially assigned to + point at pic16_pc_fsr1[lh] and pic16_pc_fsr2[lh] variables and other + accessing SFRs. Updated all occurences of modification of stack or + frame pointer in gen.c and pcode.c, + * src/pic16/ralloc.c (serialRegAssign): fixed two bugs with + assigning of a literal value to pointers, + * src/pic16/main.c (pic16_finiliseOptions): set pre-processor define + flag STACK_MODEL_SMALL or STACK_MODEL_LARGE according to the model + selected + +2005-01-11 Vangelis Rokas + + * doc/sdccman.lyx: update documentation about stack pragma, added + some info for stack memory models + +2005-01-08 Jesus Calvino-Fraga + + * src/pic16/gen.c (DEBUGpc): MSVC 6 does not support macro variable arguments + +2005-01-08 Raphael Neider + + * src/pic16/device.c (pic16_dump_usection): changed naming scheme for + udata sections to fix bug #1097823 + +2005-01-05 Raphael Neider + + * src/pic16/gen.c (genGenericShift): added handling of differently + sized left operand and result + +2005-01-04 Raphael Neider + + * src/pic16/gen.c (genIfxJump): fixed inverted skips on CARRY + * (genIfx): fixed (?) read from uninitialized SPIL_LOC (now assumes CARRY + to hold the condition bit) + * added new version of genCmp (old code available via #define) + * added new version of genShiftLeft/genShiftRight in a generic + way, now supports shifting by negative values + * (genLeftShiftLiteral, genRightShiftLiteral): use absolute value of + shiftCount (expected by genGenericShift) + * src/pic16/genarith.c (genPlus): added code for adding CARRY+literal + * src/pic16/pcode.c (pic16_OptimizeJumps): removed annoying statistics + dump + * (pic16_newpCodeOpLit): changed to cast to unsigned char (as e.g. -32766 + is an invalid literal too...) + +2005-01-04 Vangelis Rokas + + * src/pic16/gen.c (aopForSym, genEndFunction): applied some fixes + from Raphael Neider, + * src/pic16/pcode.c (pic16_newpCodeOpLit): removed casting to char + for 8-bit literals. This fixes some literal operands which are sign + extended to 16-bits ints when instruction needs only 8-bits. + +2004-12-31 Paul Stoffregen + + * device/lib/logf.c: added mcs51 assembly version + * device/lib/expf.c: added mcs51 assembly version + * device/lib/_logexpf.c: new shared asm code for expf and logf + * device/include/math.h: add defines for assembly math library + * device/lib/Makefile.in: build new _logexpf.c + * device/lib/libfloat.lib: use new _logexpf.c + +2004-12-29 Slade Rich + + * src/pic/device.c + * src/pic/pcode.c : adjusted internal stack and pre-allocated registers for + device types which have less than 0x7f registers. + +2004-12-29 Slade Rich + + * src/pic/genarith.c : Fixed problem with subtraction where the result would not be updated when borrowing. + +2004-12-28 Paul Stoffregen + + * device/lib/printf_fast.c: only build on supported arch. + * device/lib/printf_tiny.c: only build on supported arch. + * device/lib/printf_fast_f.c: only build if asm float lib + * device/lib/_fsget1arg.c: only build if asm float lib + * device/lib/_fsget2args.c: only build if asm float lib + * device/lib/_fsnormalize.c: only build if asm float lib + * device/lib/_fsreturnval.c: only build if asm float lib + * device/lib/_fsrshift.c: only build if asm float lib + * device/lib/_fsswapargs.c: only build if asm float lib + * device/include/stdio.h: don't provide print_fast, + print_fast_f, print_tiny prototypes if --xstack used + +2004-12-28 Maarten Brock + + * device/lib/sincosf.c (sincosf): don't invert bit/bool by ~ + * support/regression/ports/mcs51-stack-auto/spec.mk: added new _fs.. files + to the SOURCES + +2004-12-28 Paul Stoffregen + + * device/lib/printf_fast_f.c: same as printf_fast, but + with floating point enabled + * device/lib/printf_fast.c: minor tweaks + * device/include/stdio.h: add printf_fast_f + 2004-12-27 Paul Stoffregen * src/SDCCmain.c: make --float-reent default for mcs51 @@ -52,7 +267,7 @@ * device/lib/printf_tiny.c: printf for mcs51 in only 267 bytes, and fully reentrant and register bank neutral. * device/lib/printf_fast.c: added float (not enabled by default), - added compact/slower integer (also not enabled by default), + added compact/slower integer (also not enabled by default), improved size/speed of fast integer code, other minor changes * device/include/stdio.h, device/lib/Makefile.in, device/lib/libsdcc.lib: integrate printf_tiny into mcs51 build