* src/pic/device.c (create_pic,ram_map): add memRange entries to PIC
authortecodev <tecodev@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Thu, 30 Nov 2006 13:51:34 +0000 (13:51 +0000)
committertecodev <tecodev@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Thu, 30 Nov 2006 13:51:34 +0000 (13:51 +0000)
commit47c9147ac257a687afd30f488531482ded6a7805
tree1325ece2a495fe30dd8eb50150628a0015afb353
parentd0bc5a50595f5e8fd80dad459ba432eeebfa08ef
* src/pic/device.c (create_pic,ram_map): add memRange entries to PIC
  (pic14_getSharebankSize, pic14_getSharebankAddress): replaced with
  (pic14_hasSharebank,pic14_isShared,pic14_allRAMShared,
   pic14_getSharedStack): NEW, evaluate the memRange entries to locate
   a sharebank, use a non-shared bank for the stack if none available
* src/pic/device.h (struct memRange): added linked list next field,
  added prototypes for above functions
* src/pic/ralloc.c (initStack): handle shared and banked stacks,
  (typeRegWithIdx): accept fixed and unfixed stack registers
* src/pic/pcode.c (pCodeInitRegisters): use new functions to create
  the stack, handle shared and banked stack (except for WSAVE),
  (insertBankSel): removed useless optimization (will never fire),
  (FixRegisterBanking): added optimization for devices with only one
  possibly aliased bank of memory, like 16f84
* src/pic/glue.c (pic14_constructAbsMap): back to udata_ovr, as some
  devices have no SHAREBANK in the linker script
* device/include/pic/pic14devices.txt: documented memmap
* device/lib/pic/libdev/Makefile.in: removed --stack-loc again

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@4494 4a8a32a2-be11-0410-ad9d-d568d2c75423
ChangeLog
device/include/pic/pic14devices.txt
device/lib/pic/libdev/Makefile.in
src/pic/device.c
src/pic/device.h
src/pic/glue.c
src/pic/pcode.c
src/pic/ralloc.c