* really fixed problems with -Op2 opts (merged)

This commit is contained in:
Jonas Maebe 2001-01-10 10:29:36 +00:00
parent d5ef327f9e
commit 3fd4ce9c89

View File

@ -1924,14 +1924,10 @@ Begin
If (AktOptProcessor < ClassP6) And
GetNextInstruction(p, hp1) And
(hp1.typ = ait_instruction) And
(Taicpu(hp1).opcode = A_JMP) Then
(Taicpu(hp1).opcode = A_JMP) And
(Taicpu(hp1).oper[0].typ = top_symbol) Then
Begin
case Taicpu(hp1).oper[0].typ of
top_symbol:
hp2 := Taicpu.Op_sym(A_PUSH,S_L,Taicpu(hp1).oper[0].sym);
top_ref:
hp2 := Taicpu.Op_ref(A_PUSH,S_L,newreference(Taicpu(hp1).oper[0].ref^));
end;
hp2 := Taicpu.Op_sym(A_PUSH,S_L,Taicpu(hp1).oper[0].sym);
InsertLLItem(AsmL, p.previous, p, hp2);
Taicpu(p).opcode := A_JMP;
Taicpu(p).is_jmp := true;
@ -2005,7 +2001,10 @@ End.
{
$Log$
Revision 1.7 2001-01-07 15:49:49 jonas
Revision 1.8 2001-01-10 10:29:36 jonas
* really fixed problems with -Op2 opts (merged)
Revision 1.7 2001/01/07 15:49:49 jonas
* fixed bug in call/jmp optimization with -Op1 and -Op2
Revision 1.6 2000/12/25 00:07:33 peter