X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=ChangeLog;h=41cfd956e0140f734fe94f612eb486cd2db59b9e;hb=f0d3e26f7b91a687dbf34c7e3f56be5f371e1a1e;hp=ffa6b95ca68b75cb1f410d14a53f4589b4bf500e;hpb=a777e82f33d3fd9fc64bceb32a50e540678dfd3b;p=fw%2Fsdcc diff --git a/ChangeLog b/ChangeLog index ffa6b95c..41cfd956 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,719 @@ +2002-04-15 Michael Hope + + * device/lib/z80/printf.c (sprintf): Added. + + * src/z80/ralloc.c (packRegisters): Disabled pack HL use for GB as it's broken. + + * src/z80/peeph.def: Added transpose redundent load rule. + + * src/z80/main.c: Added force callee saves for jaune. + + * src/port.h: Removed the i186 and tlcs-900h ports as they weren't being being developed. + + * src/SDCCmain.c: Pulled the options definition out so that you can add port specific options without changing the main file. + +2002-03-28 Johan Knol + + * src/SDCCval.c: fixed bug #532436 + +2002-03-14 Scott Dattalo + * /src/port.h: + Added "char *Processor" field to the port structure. + + * /src/SDCCmain.c: + Added -p option. Allows port dependent processor to be specified. + + * all ports: + Initialized the new field char *Processor field to NULL in all ports + + * /src/pic/*: + Compiler generated registers for interrupt context saving + were not getting allocated. + +2002-03-16 Sandeep Dutta + + * /src/SDCCast.c: + Fixed left shift. Will promote the left side of a left shift + if a) left shifting more than size of operand or b) when assigned + to something size > size of left side + +2002-03-14 Scott Dattalo + * src/pic/* + tons of changes. Register allocation has been + rewritten. Added customization for the various PICs. Flow + analysis is restructured. ... + + * src/pic/device.h: + Added + + * src/pic/device.c: + Added. device.c is a PIC port hack to accomodate variations + in PIC devices. + +2002-03-13 Michael Hope + + * src/z80/gen.c (genGenPointerGet): Fixed a bug where a pointer in HL is dereferenced into HL but HL is not spilled. Yeah. + +2002-03-04 johanknol + + * /src/SDCCval.c: fixed + + const unsigned char arr[][2] = { { 0, 1 } }; + t18.c:1: error: Initializer element is not constant + +2002-03-04 bela + + * /device/include/mcs51reg.h: + ds89c420 register definition update + +2002-03-03 + + * support/Util/SDCCerr.c: did something, but don't no why anymore + + * support/regression/tests/bug-524691.c: made it a little less shy + + * src/SDCCast.c (decorateType): fixed bug #524697 + + * src/SDCCast.c: made some lineno improvements + + * src/SDCCval.c (getNelements): changed warning to error + + * src/SDCCglue.c (printIvalArray): changed warning to error + + * src/SDCCicode.c: fixed a warning for mingw + + * src/SDCCast.c (decorateType): fixed the << promotion for ops + + * src/SDCCicode.c (geniCodeDivision): divide is shift only for unsigned (bug #524685) + +2002-03-02 Sandeep Dutta + + * src/ds390/peeph.def: + Added some more peephole rules + + * src/ds390/gen.c: Various fixes & enhancements + + * src/SDCClrange.c, src/SDCClrange.h: + functions "alldefsoutofrange" and "notusedinblock" moved to SDCClrange.c + + * src/ds390/ralloc.c: + various fixes & enhancements (ds390) specific + + * src/avr/ralloc.c, src/mcs51/ralloc.c, src/pic/ralloc.c, src/xa51/ralloc.c, src/z80/ralloc.c: + Functions "allDefsOutOfRange" & "notUsedinBlock" moved to SDCClrange.c + from rallocs. + + * sdcc/src/SDCCcse.c: Better fix for bug # 514308 + +>>>>>>> 1.105 +2002-03-02 + + * src/SDCCast.c (decorateType): fixed bug #524708 + + * src/SDCCval.c (floatFromVal): fixed the literal void (whatever that may be) + + * src/SDCCicode.c (geniCodePtrPtrSubtract): fixed bug #524691 + +2002-03-01 Michael Hope + + * src/SDCCsymt.c (initCSupport): Removed managling of support function names. + + * src/z80/ralloc.c (packRegsForIYUse): Fixed fp bug where four byte operands were packed into IY. + +2002-03-01 + + * src/SDCCglue.c (printIvalPtr): fixed bug #524211 + + * src/SDCCast.c (decorateType): fixed bug #524209 + + * src/SDCCval.c (valNot): fixed bug #524195 + +2002-02-26 + + * src/xa51/gen.c: fixed a warning + + * src/SDCCglue.c (printIvalFuncPtr): fixed bug #522534 + + * src/SDCCast.c (decorateType): fixed bug #522534 + +2002-02-23 + + * src/SDCCdflow.c (computeDataFlow): fixed bug #460088 + +2002-02-22 + + * src/SDCCast.c: fixed bug #514865 + + * src/SDCCy.c ("SDCC.y"): fixed bug #516625 + +2002-02-21 Sandeep Dutta + + * sdcc/src/SDCCloop.c: + Previous fix was not good. basic blocks that have "break" or "return" are + not really partof a loop , but live ranges used in these blocks should + be live thru the entire loop, so set partOfLoop but don't add them to + loop region + +2002-02-21 + + * src/SDCCcse.c: fixed bug #514308 + +2002-02-20 Sandeep Dutta + + * src/SDCCloop.c: + Fixed BUG #519583. If a conditional block ended in a return/break + statement inside a loop, it was not being considered part of the loop. + + * src/SDCCcflow.c: Removed fix (Fixed in SDCCloop.c) + +2002-02-10 Karl Bongers + + * debugger/*: + Fixed up SDCDB debugger somewhat. Updated debugger/README + with lots of comments and notes. + + * device/examples/test2.c: + Fix bug, "red" variable not being initialized(compiler complained). + + * device/examples/Makefile, examples/test3.c: + Add Makefile in device/examples folder, compiles test3.c + for use as a multiple module SDCDB test case. + + * sim/ucsim/cmd.src/cmdset.cc: + Took out debug printfs in ucsim "next" command. + + * sim/ucsim/xa.src: + Karl and Johan start ucsim XA support. Most dissassembly working, + about 75% emulation done(plenty of work remaining). + + * sim/ucsim/z80.src: + Add Z80 support to ucsim, add test-ucz80 regression test, + notice ucsim/z80 emulation fails on examples/test3.c/itoa code. + Notice z80 compiler fails on examples/test3.c/crc code. + +2002-01-30 Sandeep Dutta + + * src/mcs51/gen.c, src/mcs51/main.c, src/mcs51/ralloc.c: + Added support for --parms-in-bank1 + + * src/ds390/peeph.def: + added a few more peephole optimzations + + * src/ds390/main.c: + 1) added __builtin_inp & __builtin_outp used to read in data of given length + from a memory mapped port + 2) added __builtin_memcmp + 3) added __builtin_swapw swap bytes of a short + + * src/ds390/gen.c, src/ds390/gen.h, src/ds390/ralloc.c: + 1) handle multiple send & receives from register bank1 + 2) ralloc can now allocate DPTR1 to some liveRanges + + * src/SDCCsymt.c, src/SDCCsymt.h: + changes to handle multiple sends & receives + + * src/SDCCptropt.h: + added some pointer arithmetic optimization + + * src/SDCCptropt.c: + added some pointer arithmetic optimizations but not stable yet so not + called from anywhere (will get this working shortly) + + * src/SDCCopt.c: fixed for multiple sends & receives + + * src/SDCCmain.c: + 1) added options --parms-in-bank1 (ds390/mcs51) & --protect-sp-update + 2) preprocessing done AFTER port->finalizeoptions . This allows ports to + set preprocessor defines (depending on options) + + * src/SDCCicode.c, src/SDCCicode.h: + changes made to handle multiple sends & receives + + * src/SDCCglobl.h: + Added options --protect-sp-update (ds390) and --parms-in-bank1 (ds390/mcs51) + + * src/SDCCcse.c, src/SDCCcse.h: + added function findbackward def (to be used in upcoming optimization) + + * src/SDCCcflow.c, src/SDCCcflow.h: + added function returnAtEnd - to determine if a basic block terminates with + a RETURN iCode + + * src/SDCCast.c, src/SDCCast.h: + added option parms-in-bank1 + + * device/lib/_divsint.c, device/lib/_divslong.c, device/lib/_divuint.c + * device/lib/_divulong.c, device/lib/_modsint.c, device/lib/_modslong.c + * device/lib/_modulong.c, device/lib/_mulint.c, device/lib/_mullong.c: + adjusted for --parms-in-bank1 option + + * device/include/string.h: + donot redefine "reentrant" keyword + + * device/include/ds80c390.h: Added some more SFRs + +2002-01-28 Bernhard Held + + * sim/ucsim: Merged branch ucsim-034-pre3 to main trunk; new version 0.4 + +2002-01-26 Bernhard Held + + * src/SDCCast.c (funcOfType): fix usage of double --float-reent + +2002-01-22 Bernhard Held + + * support/regression/fwk/lib/testfwk.c (main): Removed workaround for bug #505387 + +2002-01-18 Paul Stoffregen + + * Added --xram-movc option + +2002-01-13 Bernhard Held + + * support/regression/Makefile: don't include test-mcs51-stack-auto in target all + +2002-01-11 Johan Knol + + * Added math lib of Jesus Calvino-Fraga + +2002-01-08 Bernhard Held + + * src/SDCCmain.c (processFile): fix processing of ../../src.c + * support/regression/Makefile: new target test-mcs51-stack-auto + * support/regression/ports/mcs51-stack-auto/spec.mk: added + +2002-01-04 Bernhard Held + + * src/SDCCglue.h: printIvalCharPtr(), not printIvalChar() + +2002-01-04 Bernhard Held + + * support/regression/ports/mcs51/support.c: correct setup of timer / UART + +2002-01-03 Bernhard Held + + * src/SDCCsymt.c (processFuncArgs): fix #498307 by Johan + + * src/SDCCglue.h: add definition for printIvalChar() + +2002-01-02 Bernhard Held + + * src/SDCCast.c: fix #498138 by Johan + + * src/SDCCglue.c: fix #498138 by Johan + +2002-01-02 Bernhard Held + + * support/regression/Makefile: fix clean + + * support/regression/ports/ds390/support.c: fix transmission of last character + +2001-12-29 Sandeep Dutta + + * /sdcc/src/ds390/gen.c: + a) improved computing address of stack variable + b) took out some #if 0 code + c) improved parmBytes adjustment + d) improved genPlusIncr & genMinusIncr + e) genCmp could generate bad code (when left assigned to DPTR) + f) Fixed bug in hasInc + + * /sdcc/src/ds390/ralloc.c: + a) packRegsForSupport could mess up live information (Fixed) + b) packRegsDPTRuse could be incorrect for left & right shift + + * /sdcc/src/mcs51/ralloc.c: + packRegsForSupport could mess up the live information (Fixed) + + * /sdcc/src/mcs51/gen.c: Fixed a bug in hasInc + + * /sdcc/src/SDCCast.c: + can reverse a loop even if function call is present as long + as the loop control variable is local & is not passed as parameter + +2001-12-24 Sandeep Dutta + + * /sdcc/ChangeLog: *** empty log message *** + + * /sdcc/src/ds390/gen.c, /sdcc/src/ds390/main.c: + More builtin function additions for TININative + + * /sdcc/src/ds390/ralloc.c: + Had broken the regression testsuite + + * /sdcc/src/SDCCast.c: Fixed a bug in dumptree + + * /sdcc/src/SDCCsymt.c, /sdcc/src/SDCCsymt.h: + Added funcattr hasStackParms will be set for reentrant functions when there + are paramteres on the stack, this helps in minimizing frame pointer generation + typeFromStr can handle function pointers now + + * /sdcc/doc/builtins.txt, /sdcc/doc/TININative.txt: + *** empty log message *** + +2001-12-24 Sandeep Dutta + + * /src/ds390/gen.c, /src/ds390/main.c: + More builtin function additions for TININative + + * /src/ds390/ralloc.c: + Had broken the regression testsuite + + * /src/SDCCast.c: Fixed a bug in dumptree + + * /src/SDCCsymt.c, /src/SDCCsymt.h: + Added funcattr hasStackParms will be set for reentrant functions when there + are paramteres on the stack, this helps in minimizing frame pointer generation + typeFromStr can handle function pointers now + + * /doc/builtins.txt, /doc/TININative.txt: + *** empty log message *** + + +2001-12-24 Sandeep Dutta + + * /src/ds390/gen.c, /src/ds390/main.c, /src/ds390/peeph.def, /src/ds390/ralloc.c: + ALPHA version for -mTININative + + * /src/izt/i186.c, /src/izt/tlcs900h.c, /src/mcs51/main.c, /src/pic/main.c, /src/z80/main.c, /src/avr/main.c: + updated to reflect changes in the port structure + + * /src/port.h: + added function do_assemble (similar to do_link) if non-null this function + will be called to do assembly (-mTININative) requires a multi command + assembly + added function genAssemblerEnd will be called to generate assembler Epilogue + + * /src/SDCCsymt.c: + added _JavaNative to debug info printing + + * /src/SDCCmain.c: added option --tini-libid + added port->do_assemble function (-mTININative) has a multi command assemble + + * /src/SDCCglue.c: Disabled "constExpr" check + added port->genAssemblerEnd function + + * /src/SDCCglobl.h: Added option --tini-libid value + + * /src/SDCCast.h: + tookout optimizeCompare from the header (has no external references) + + * /src/SDCCast.c: made one more function "static" + +2001-12-23 Michael Hope + + * src/z80/mappings.i: Added z80asm support. + + * src/z80/main.c: Added z80asm support on --asm=z80asm + + * src/z80/gen.c: Fixed asm portability issues. + + * src/asm.c (tvsprintf): Removed old code, added 'N' for function name. For extern support. + + * src/SDCCglue.c (printExterns): Added global/extern split. + +2001-12-17 Bernhard Held + + * support/regression/Makefile: added test for mcs51 model large + + * support/regression/ports/mcs51-large/spec.mk: added test for mcs51 model large + + * support/regression/ports/gbz80/spec.mk: added -mgbz80 + +2001-12-05 Michael Hope + + * src/diff.1 (Index): Many, many optmisiations. Dhrystone up to 201. + +1904-01-06 Michael Hope + + * src/z80/ralloc.c (packRegsForIYUse): Fixed the case where an operand is in direct space. + + * src/z80/gen.c (makeFreePairId): Optimised IY load by using a spare pair. + +2001-12-02 Bernhard Held + + * src/mcs51/gen.c (genFunction): avoid excess "inc sp" + + * support/regression/tests/simplefloat.c: Port to mcs51. + +2001-11-25 Michael Hope + * support/regression/tests/bug-485362.c: Added. + + * support/regression/tests/simplefloat.c (testDivNearOne): Added. + + * src/z80/gen.c (aopOp): Fixed case where left and result are in the same spill loc and they have different sizes. + + * src/z80/peeph.def: Added rules for optimising two byte compares on the same thing, and to optimise two ptr assign. + + * src/z80/gen.c (aopDump): Added a dump function. + +2001-11-25 Bernhard Held + * sim/ucsim/s51.src/glob.cc: DS390 SFRs and bits added. + + * sim/ucsim/s51.src/port.cc: Port 4 and 5 added. + + * sim/ucsim/s51.src/regs51.h: DS390 SFRs added. + + * sim/ucsim/s51.src/uc390.cc: Some details improved, CKRDY works for tinibios. + + * sim/ucsim/s51.src/uc390cl.h: Work in progress. + + * sim/ucsim/sim.src/uccl.h: 6 ports for DS390. + + * support/regression/fwk/lib/testfwk.c: Run with tinibios. + + * support/regression/ports/mcs51/spec.mk: Fine tuninig. + + * support/regression/ports/ds390/support.c: Use tinibios. + + * support/regression/ports/ds390/spec.mk: Fine tuning, use tinibios. + +2001-11-23 Michael Hope support/regression/tests/bug-460010.c + + * src/z80/ralloc.c (packRegsForHLUse3): Changed to not pack into HL if anything is in direct space. + (packRegsForHLUse3): Added packing support for send, cast, and return value from a call. + + * src/z80/peeph.def: Added rules for optimising pushes of part of a pair. + + * src/z80/gen.c (emitCall): Changed the stack fixup to not use HL. + +2001-11-18 Michael Hope + + * src/z80/gen.c (genCmp): Fixed compare on unsigned. + + * src/z80/ralloc.c (packRegsForHLUse3): Created and optimised. + (packRegsForIYUse): Created and optimised. + +2001-11-07 Michael Hope + + * support/regression/tests/float.c (testFloatAdd): Fixed up warning. +2001-11-18 Bernhard Held + + * sdcc/support/regression/tests/bug-460010.c: fix seg violation on host + + * sdcc/support/regression/tests/muldiv.c: fix output on mcs51 + + * sdcc/support/regression/tests/stacks.c: fix DSEG overflow on mcs51 + +2001-11-07 Bernhard Held + + * sdcc/sim/device/lib/_gptrget.c: mem region 5 (idata) added + + * sdcc/sim/device/lib/_gptrput.c: mem region 5 (idata) added + +2001-11-07 Bernhard Held + + * sdcc/sim/ucsim/globals.cc: New: IXRAM. + + * sdcc/sim/ucsim/stypes.h: New: IXRAM. + + * sdcc/sim/ucsim/s51.src/uc390.cc: New: IXRAM. + +2001-11-07 Michael Hope + + * src/z80/ralloc.c (packRegsForHLUse): Banned IFXs from being packed into HL. + (packRegsForHLUse): Added rule to pack address of/pointer get for itemps into HL for the Z80. + (packRegsForAccUse2): Added rule to pack hbit IFXs into A. + + * src/z80/main.c (_setDefaultOptions): Made float code re-entrant by default. + + * src/z80/gen.c (aopGetLitWordLong): Added word support for floats. + (genNotFloat): Added. + (genUminusFloat): Added. + + * device/lib/z80/Makefile: Added floating pt stubs. + + * device/lib/Makefile.in (Z80SOURCES): Added floating pt support. + + * src/z80/gen.c (genIpush): Fixed up a push of one byte when left is in a pair. + + * device/lib/_fsadd.c (__fsadd): Fixed up return where the numbers are hugely different. + +2001-11-07 Bernhard Held + + * sdcc/sim/ucsim/s51.src/glob.cc: Minor fix. + + * sdcc/sim/ucsim/s51.src/regs51.h: Minor fix. + + * sdcc/support/regression/Makefile: Add port ds390. + + * sdcc/support/regression/ports/mcs51/spec.mk: Minor change. + + * sdcc/support/regression/ports/z80/spec.mk: Minor change. + + * sdcc/support/regression/ports/ds390/spec.mk: Added. + + * sdcc/support/regression/ports/ds390/support.c: Added. + + * sdcc/support/regression/ports/ds390/uCsim.cmd: Added. + + * sdcc/support/regression/ports/mcs51/timeout.c: Cut. + + * sdcc/support/regression/fwk/lib/timeout.c: Paste. + +2001-11-04 Michael Hope + + * device/include/malloc.h: Added z80 and gbz80 support. + + * device/lib/gbz80/heap.s: Added. + + * device/lib/z80/heap.s: Added. + + * device/lib/malloc.c: Added z80 and gbz80 support. + + * support/regression/tests/malloc.c (testMalloc): Added. + + * src/SDCCmain.c (parseCmdLine): Added support for -Wp. + + * support/regression/tests/bug-478094.c: Added. + + * src/z80/gen.c (commitPair): Fixed silly gbz80/z80 commit to static bug. + +2001-11-04 Bernhard Held + + * sdcc/sim/ucsim/s51.src/uc390cl.h: Improvement for ds390 to run regression tests + + * sdcc/sim/ucsim/s51.src/uc390.h: Improvement for ds390 to run regression tests + + * sdcc/sim/ucsim/s51.src/regs51.h: Improvement for ds390 to run regression tests + + * sdcc/sim/ucsim/s51.src/glob.cc: Improvement for ds390 to run regression tests + + * sdcc/support/regression/tests/bug-460010.c: Small change for ds390 + +2001-11-04 Michael Hope + + * src/z80/peeph-gbz80.def: Removed a bad sub optimisation. + +2001-11-03 Michael Hope + + * support/regression/tests/bug-477927.c: Added. + + * src/z80/peeph.def: Added minor rules. + + * src/z80/gen.c (genPlusIncr): Added an extra plusinc rule. + + * src/z80/peeph.def: Added jump optimisation modification. + +2001-11-01 Michael Hope + + * src/SDCCmain.c (linkEdit): Added runtime path detection to the mcs51 port. + +2001-10-30 Michael Hope + + * support/regression/tests/funptrs.c: Added. + +2001-10-29 Michael Hope + + * src/z80/ralloc.c (packRegsForHLUse): Fixed up bad spill due to pushing one byte via HL. + +2001-10-28 Michael Hope + + * src/z80/gen.c (genArrayInit): Made it work for on stack arrays. + + * src/z80/main.c (gbz80_port =): Added rle support to the gbz80 port. + + * src/z80/gen.c (genMinus): Fixed for where the result is one byte. + (movLeft2ResultLong): Created. + + * src/z80/ralloc.c (packRegsForHLUse): Added a couple of simple cases for the GB. + (joinPushes): Added. Joins two char pushes into a word push. + +2001-10-27 Michael Hope + + * support/cpp2/Makefile.in (install): Added creation of dest dir. + + * support/makebin/Makefile (install): Added creation of dest dir. + +2001-10-24 Karl Bongers + + * configure.in, configure, Makefile, support/cpp: Removed cpp folder, since we have new cpp2 preprocessor code. + +2001-10-21 Michael Hope + + * src/z80/ralloc.c: Turned off faulty pack for one use. + + * src/z80/peeph-gbz80.def: Removed redundent restart options. + + * src/z80/gen.c (genMult): Added native mul for constants on the z80 and gbz80. + +2001-10-21 Bernhard Held + + * support/regression/Makefile: Improved clean + + * support/regression/ports/gbz80/spec.mk: Added clean + + * support/regression/ports/host/spec.mk: Added clean + + * support/regression/ports/z80/spec.mk: Added clean + + * support/regression/ports/mcs51/spec.mk: Added clean, little improvements + + * support/regression/ports/mcs51/timeout.c: little improvements + +2001-10-17 Michael Hope + + * device/lib/malloc.c (MEMHEADER): Fixed against new pedantic pointers. + + * support/regression/fwk/include/testfwk.h: Fixed up to use function pts correctly. + + * support/regression/generate-cases.py: Fixed up to use function pts correctly. + +2001-10-16 Bernhard Held + + * support/regression/port/mcs51/spec.mk: add timeout for uCsim + + * support/regression/port/mcs51/timeout.c: add timeout for uCsim + +2001-10-13 Michael Hope + * src/z80/gen.c (emitCall): Fixed up missing spill of HL when used to assign the result value. + + * src/z80/ralloc.c: Turned off pack for one use as it's quite broken. + + * src/SDCCmain.c (linkEdit): Added support for passing a legacy command line through the processor. + + * src/mcs51/main.c (_linkCmd): Added bin path to command. + + * src/SDCCmain.c (initValues): Added support for when it it called just to link. + + * as/mcs51/lklibr.c (libfil;): Turned off 'library file' message. + + * src/SDCCval.c (constVal): Fixed usage of 'L' modifier problems on ppc. + + * support/regression/tests/longor.c: Added. + +2001-10-11 Bernhard Held + + * as/mcs51/asdata.c: replaced FILENAME_MAX with PATH_MAX + + * as/mcs51/aslink.h: define PATH_MAX + + * as/mcs51/asm.h: define PATH_MAX + + * as/mcs51/asmain.c: replaced FILENAME_MAX with PATH_MAX + + * as/mcs51/asnoice.c: replaced FILENAME_MAX with PATH_MAX + + * as/mcs51/lklex.c: replaced FILENAME_MAX with PATH_MAX + + * as/mcs51/lkmain.c: replaced FILENAME_MAX with PATH_MAX + + * src/SDCCglobl.h: define PATH_MAX + + * src/SDCCmacro.c: replaced FILENAME_MAX with PATH_MAX + + * src/SDCCmain.c: replaced FILENAME_MAX with PATH_MAX + +2001-10-11 Michael Hope + + * src/z80/gen.c (gencjneshort): Fixed + + * src/z80/ralloc.c (packRegsForHLUse): Added pack into HL for cast then ipush. + 2001-10-09 Michael Hope + * support/regression/tests/bug-469671.c: Added. + * src/z80/gen.c (shiftIntoPair): Fixed up warning. 2001-10-08 Michael Hope