* no more moving the loading of regvars past conditional jumps

This commit is contained in:
Jonas Maebe 2004-12-30 14:51:22 +00:00
parent 485b770322
commit d898b8dfb7

View File

@ -241,6 +241,12 @@ var
var
hp: tai;
begin
{ only regvars are still used at jump instructions }
if (cs_regvars in aktglobalswitches) and
(p.typ = ait_instruction) and
taicpu(p).is_jmp then
regsstillvalid := regsstillvalid - ptaiprop(p.optinfo)^.usedregs;
stillValid :=
(p.typ = ait_instruction) and
(taicpu(p).opcode <> a_jmp) and
@ -307,6 +313,10 @@ var
getPrevSequence := RS_INVALID;
passedFlagsModifyingInstr := passedFlagsModifyingInstr or
instrWritesFlags(currentPrev);
if (cs_regvars in aktglobalswitches) and
(currentprev.typ = ait_instruction) and
taicpu(currentprev).is_jmp then
regsstillvalid := regsstillvalid - ptaiprop(currentprev.optinfo)^.usedregs;
if not getLastInstruction(currentPrev,hp) then
exit;
@ -2186,7 +2196,10 @@ end.
{
$Log$
Revision 1.72 2004-12-28 18:01:40 jonas
Revision 1.73 2004-12-30 14:51:22 jonas
* no more moving the loading of regvars past conditional jumps
Revision 1.72 2004/12/28 18:01:40 jonas
* fixed several regvar related bugs, cycle with -OZp3r doesn't work
yet though