projects
/
fw
/
sdcc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixed a bug in dumptree
[fw/sdcc]
/
src
/
SDCClrange.c
diff --git
a/src/SDCClrange.c
b/src/SDCClrange.c
index df34ff86633348204b3f8350b4e6b50aa09774b6..376d3caae4b7677bfc1878b375f746c8efe76777 100644
(file)
--- a/
src/SDCClrange.c
+++ b/
src/SDCClrange.c
@@
-578,7
+578,9
@@
rlivePoint (eBBlock ** ebbs, int count)
/* if it is live then add the lrange to ic->rlive */
if (lrange->liveFrom <= ic->seq &&
lrange->liveTo >= ic->seq) {
/* if it is live then add the lrange to ic->rlive */
if (lrange->liveFrom <= ic->seq &&
lrange->liveTo >= ic->seq) {
- lrange->isLiveFcall |= (ic->op == CALL || ic->op == PCALL || ic->op == SEND);
+ lrange->isLiveFcall |= ((lrange->liveFrom < ic->seq) &&
+ (ic->op == CALL || ic->op == PCALL || ic->op == SEND));
+ if (ic->op == CALL && lrange->liveFrom == ic->seq) continue;
ic->rlive = bitVectSetBit (ic->rlive, lrange->key);
}
}
ic->rlive = bitVectSetBit (ic->rlive, lrange->key);
}
}