* device/lib/pic16/libsdcc/Makefile: added lregs directory in
authorvrokas <vrokas@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Wed, 20 Oct 2004 14:02:16 +0000 (14:02 +0000)
committervrokas <vrokas@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Wed, 20 Oct 2004 14:02:16 +0000 (14:02 +0000)
commitb69c2ce731d39b467f0bac5f532ef5e94a1eff5e
tree93c52001233db77a58322efff52b247dccd74ec3
parentf1ecc2b5a2acb09e8bbd167f8f0ff8b5f336c333
* device/lib/pic16/libsdcc/Makefile: added lregs directory in
makefile targets,
* device/lib/pic16/libsdcc/lregs/{Makefile,lrst.c,lrrest.c}: NEW
support functions to replace long sequences of MOVFF's from access
bank registers to stack and vice versa,
* src/pic16/device.h: added new field opt_flags, where optimization
flags can be set to enable certain features,
* src/pic16/gen.c (pic16_emitpinfo): NEW to add PC_INFO pCode in
* pBlock, (genFunction, genEndFunction): surroung loop for
saving/loading used registers in stack with PC_INFO pCodes,
INF_LREGS. Code in between can then be optimized by pCode optimizer
to support function calls,
* (genDataPointerSet): fixed bug which loaded float fields in
structures with corrupt data,
* src/pic16/genutils.c (debugf, _debugf): macro/function which emits
in a standard way debug info on stderr. Feature used for developing
and debugging only,
* src/pic16/glue.c (pic16glue): reformatted, deleted some old and
obsolete chunks of code,
* if optimization flag OF_LR_SUPPORT was set, call pic16_OptimizeLocalRegs,
* src/pic16/main.c (_pic16_parseOptions): added handler for --flr-support,
* pic16/src/pcode.c (pic16_newpCodeInfo,
* (pic16_newpCodeOpLocalRegs),
* (pic16_convertLocalRegs2Support): NEW, to support new optimization
feature,
* (pic16_pCodeConstString): printing of the initial value of a
symbol as a comment is inhibited since parsing was already done by
copyStr and output is corrupt,
* (pic16_pCode2str, genericPrint): handle PC_INFO pCode,

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3546 4a8a32a2-be11-0410-ad9d-d568d2c75423
14 files changed:
ChangeLog
device/lib/pic16/libsdcc/Makefile
device/lib/pic16/libsdcc/float/Makefile
device/lib/pic16/libsdcc/lregs/Makefile [new file with mode: 0644]
device/lib/pic16/libsdcc/lregs/lrrest.c [new file with mode: 0644]
device/lib/pic16/libsdcc/lregs/lrst.c [new file with mode: 0644]
src/pic16/device.h
src/pic16/gen.c
src/pic16/genutils.c
src/pic16/genutils.h
src/pic16/glue.c
src/pic16/main.c
src/pic16/pcode.c
src/pic16/pcode.h