Beautified. Although recommended, it's not my favourite style
[fw/sdcc] / src / SDCClrange.c
index 583aeb496f040c52ff0e28bc81933973627eebe6..daca5285519735c2172a5e33c512ce567151e371 100644 (file)
@@ -295,8 +295,8 @@ operand *operandLUse (operand *op, eBBlock **ebbs,
     
     if (!OP_SYMBOL(op)->udChked)
     {
-       link *type = operandType(op);
-       link *etype = getSpec(type);
+       sym_link *type = operandType(op);
+       sym_link *etype = getSpec(type);
        
        OP_SYMBOL(op)->udChked = 1;
        /* good place to check if unintialised */
@@ -514,9 +514,12 @@ void rlivePoint (eBBlock **ebbs, int count)
            for ( lrange = hTabFirstItem(liveRanges,&k); lrange;
                  lrange = hTabNextItem(liveRanges,&k)) {
 
+                   /* if it is live then add the lrange to ic->rlive */
                if (lrange->liveFrom <= ic->seq &&
-                   lrange->liveTo   >= ic->seq )
-                   ic->rlive = bitVectSetBit(ic->rlive,lrange->key);
+                   lrange->liveTo   >= ic->seq ) {
+                       lrange->isLiveFcall |= (ic->op == CALL || ic->op == PCALL || ic->op == SEND);
+                       ic->rlive = bitVectSetBit(ic->rlive,lrange->key);
+               }
            }
        }
     }