* src/pic/gen.c (popGet): changed assert to allow for
authortecodev <tecodev@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Mon, 4 Jul 2005 10:48:49 +0000 (10:48 +0000)
committertecodev <tecodev@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Mon, 4 Jul 2005 10:48:49 +0000 (10:48 +0000)
commit73dcfcdb63f80c8d624e320f41ffb74b2b77e252
tree9d7381ebeb3be1c2ba0d71bc66c10a5f82c07c4b
parent25837611386183e136d41617166c3a81b52ce430
* src/pic/gen.c (popGet): changed assert to allow for
  bit operands
* (popGetAddr): changed signature to provide
  an additional index, patched all call sites
* (genCmpEq): handle literal-like operands correctly
* (genAddrOf): added sanity checks on __code/__data pointers
* (genAssign): added handling of symbols from __code section
* (gencjne): do not generate code for comparisons whose result
  is neither stored nor used, fixes bug #1171114
* (AccLsh, AccRsh): operate on operand instead of WREG
* (shift{Left,Right}_Left2ResultLit): NEW, size independant
  replacement for Shift{LR}{12}Left2Result; shift (byte/int/long)
  by known count
* rewrote complete shift-by-literal logic, commented unused
  functions out
* (genConstPointerGet): get multiple bytes (if result size > 1),
  fixed handling of non-immediate addresses
* (genPointerGet): handle CODE pointers like CONST pointers
* (genpic14Code): insert C-SRC lines as Cource-pCodes
* ({aop,op}_isLitLike): NEW, single place to decide whether an
  operand is to be treated as a literal or not
* (mov2w,genPcall,genCmpEq),
  src/pic/genarith.c: use aop_isLitLike() to decide between
  literal/register contents
* (addSign): added missing offset
* src/pic/gen.h: remove newline after FENTRY/FEXIT comments,
  only emit comment in debug-mode,
  use {aop,op}_isLitLike throughout the file
* src/pic/glue.c: fix initializers for pointers (work in progress)
* src/pic/pcode.c (get_op): honor index on _const symbols
* ({reset,dump}pCodeStatistics): NEW, estimate code size
* (dumppBlock): added pCode size estimation
* src/pic/ralloc.c (deassignLRs,serialRegAssign,packRegisters):
  check for IS_SYMOP before OP_SYMBOL'ing
* fixed indentation, compacted switch-statements
* (allocReg): find free register and allocate it instead of
  allocating new registers all the time
* (deassignLRs): prevent POINTER_GET's from being assigned the same
  registers as its operands (necessary only for multibyte GETs)

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