* src/pic16/device.h (struct pic16_options_t): added 'int CATregs' flag
authorvrokas <vrokas@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Mon, 6 Mar 2006 08:27:52 +0000 (08:27 +0000)
committervrokas <vrokas@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Mon, 6 Mar 2006 08:27:52 +0000 (08:27 +0000)
commit2fd915c3bc6488cd960572406ba8580a90b28b78
tree199080715e6991723cbaeb6ae90a9a06606081eb
parent4d5db39fa049832d2d4e53ed9eb972a70024b859
* src/pic16/device.h (struct pic16_options_t): added 'int CATregs' flag
which dumps before the function entry point a data byte which represents
the number of the local variables used by the specified function, added
'xinst' for initial support for Extended Instruction Support,
* src/pic16/gen.c (aopForSym, pic16_aopGet): beautifications,
(pic16_testStackOverflow): do not prefix GSTACK_TEST_NAME with
port->fun_prefix anymore (may change later),
(genFunction, genEndFunction): do not store/restore local registers for
_main (this should take care the --main-return command line option in
the future),
(genOr): removed some legacy pic-port instructions,
* src/pic16/genarith.c (genAddLit): re-enabled old code because
performing operations with SFR's causes data to be written more than
once to each SFR. Perhaps SFRs should be handled in special cases...
* src/pic16/glue.c: macros BIG_ENDIAN and BYTE_IN_LONG are moved to
pcode.h
* src/pic16/main.c (_process_pragma): stack bound checking did not take
into account for stack starting position,
(struct OPTIONS pic16_optionsTable): added command line argument
--extended or -y for Extended Instruction Support,
* src/pic16/ralloc.c (pic16_decodeOp): added case for FUNCTION,
(deassignLRs): *** perhaps the most important change, old 'for' code
(comented out for reference), didn't account for some registers which
were left marked 'not free' after a pointer operation. The change
reduces register usage a lot in some cases

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@4051 4a8a32a2-be11-0410-ad9d-d568d2c75423
ChangeLog
src/pic16/device.h
src/pic16/gen.c
src/pic16/genarith.c
src/pic16/genutils.c
src/pic16/genutils.h
src/pic16/glue.c
src/pic16/main.c
src/pic16/pcode.h
src/pic16/ralloc.c