Browse Source

- remove SetccMovbLeaveRet2SetccLeaveRet optimization, this type of code is not generated anymore for years

git-svn-id: trunk@39306 -
florian 7 years ago
parent
commit
af37ca8563
1 changed files with 0 additions and 26 deletions
  1. 0 26
      compiler/i386/aoptcpu.pas

+ 0 - 26
compiler/i386/aoptcpu.pas

@@ -917,32 +917,6 @@ begin
                   A_SHL, A_SAL:
                   A_SHL, A_SAL:
                     if OptPass1SHLSAL(p) then
                     if OptPass1SHLSAL(p) then
                       Continue;
                       Continue;
-                  A_SETcc :
-                    { changes
-                        setcc (funcres)             setcc reg
-                        movb (funcres), reg      to leave/ret
-                        leave/ret                               }
-                    begin
-                      if (taicpu(p).oper[0]^.typ = top_ref) and
-                         GetNextInstruction(p, hp1) and
-                         GetNextInstruction(hp1, hp2) and
-                         IsExitCode(hp2) and
-                         (taicpu(p).oper[0]^.ref^.base = current_procinfo.FramePointer) and
-                         (taicpu(p).oper[0]^.ref^.index = NR_NO) and
-                         not(assigned(current_procinfo.procdef.funcretsym) and
-                             (taicpu(p).oper[0]^.ref^.offset < tabstractnormalvarsym(current_procinfo.procdef.funcretsym).localloc.reference.offset)) and
-                         (hp1.typ = ait_instruction) and
-                         (taicpu(hp1).opcode = A_MOV) and
-                         (taicpu(hp1).opsize = S_B) and
-                         (taicpu(hp1).oper[0]^.typ = top_ref) and
-                         RefsEqual(taicpu(hp1).oper[0]^.ref^, taicpu(p).oper[0]^.ref^) then
-                        begin
-                          taicpu(p).loadReg(0,taicpu(hp1).oper[1]^.reg);
-                          DebugMsg('Peephole optimizer SetccMovbLeaveRet2SetccLeaveRet',p);
-                          asml.remove(hp1);
-                          hp1.free;
-                        end
-                    end;
                   A_SUB:
                   A_SUB:
                     if OptPass1Sub(p) then
                     if OptPass1Sub(p) then
                       continue;
                       continue;