At 02:19 PM 7/24/2002 +0000, educated_foo@cvs.perl.org wrote: >cvsuser 02/07/24 07:19:27 > > Modified: languages/imcc imcc.l imcc.y > Log: > Set IF_r0_read for "set Px, Ay". On IMCC's aggressive behaviour :) I finally sat down and looked at this. This fix will only make the symptom go away for that particular instruction. The real problem is this: My original code computed everything in one big block of instructions. I had a kludge in there that would check for the last branch in the routine and extend variable lifetime at least to that point. This kept registers from being clobbered in loops, etc. Angel's improvements break the code down into REAL basic blocks on branch boundaries, and so this kludge no longer works. There is an apparent bug in the lifetime analysis that we need to fix. In the meantime I'll leave this little patch in until we have a better solution. -Melvin