mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-16 23:21:57 +02:00
* no more moving the loading of regvars past conditional jumps
This commit is contained in:
parent
485b770322
commit
d898b8dfb7
@ -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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user