X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fpic16%2Fralloc.c;h=bfeeac608e7f3381765908abf2b47a3b9dfe31c4;hb=6474449850aeace128aebe2d7f387ac7c550bcc5;hp=b12a47d128be3cf3bab4743a1d41c8347c752771;hpb=abbf0a9fb214f2b26c1e2c57e8f6f5bb6dd5b3fe;p=fw%2Fsdcc diff --git a/src/pic16/ralloc.c b/src/pic16/ralloc.c index b12a47d1..bfeeac60 100644 --- a/src/pic16/ralloc.c +++ b/src/pic16/ralloc.c @@ -778,8 +778,12 @@ pic16_allocDirReg (operand *op ) if(IS_ITEMP(op))return NULL; +// if(IS_STATIC(OP_SYM_ETYPE(op)))return NULL; + + if(IN_STACK(OP_SYM_ETYPE(op)))return NULL; + debugLog ("%s:%d symbol name %s\n", __FUNCTION__, __LINE__, name); -// fprintf(stderr, "%s symbol name %s\n", __FUNCTION__,name); +// fprintf(stderr, "%s symbol name %s\tSTATIC:%d\n", __FUNCTION__,name, IS_STATIC(OP_SYM_ETYPE(op))); { if(SPEC_CONST ( OP_SYM_ETYPE(op)) && (IS_CHAR ( OP_SYM_ETYPE(op)) )) { @@ -2940,10 +2944,11 @@ packRegsForAssign (iCode * ic, eBBlock * ebp) debugLog (" %d - result is not temp\n", __LINE__); } +// if(IS_VALOP(IC_RIGHT(ic)))return 0; /* See BUGLOG0001 - VR */ #if 1 - if (!IS_ITEMP (IC_RIGHT (ic))) { + if (!IS_ITEMP (IC_RIGHT (ic)) /*&& (!IS_PARM(IC_RESULT(ic)))*/) { debugLog (" %d - not packing - right is not temp\n", __LINE__); pic16_allocDirReg(IC_RIGHT (ic)); return 0;