From d4f0658c0273c43dc0e36ad62c9aa6935096808b Mon Sep 17 00:00:00 2001 From: florian Date: Fri, 15 Nov 2019 20:50:17 +0000 Subject: [PATCH] * disable condition jump optimization on MIPS for now for the time being git-svn-id: trunk@43486 - --- compiler/aoptobj.pas | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/compiler/aoptobj.pas b/compiler/aoptobj.pas index fc8b948bdb..b3df8dc416 100644 --- a/compiler/aoptobj.pas +++ b/compiler/aoptobj.pas @@ -2014,13 +2014,16 @@ Unit AoptObj; Result := True; Exit; -{$if not defined(avr) and not defined(riscv32) and not defined(riscv64)} +{$if not defined(avr) and not defined(riscv32) and not defined(riscv64) and not defined(mips)} end else { NOTE: There is currently no watertight, cross-platform way to create an unconditional jump without access to the cg object. If anyone can improve this particular optimisation to work on AVR and RISC-V, - please do. [Kit]} + please do. [Kit] + + On MIPS, it causes an endless loop, so I disabled it for now + } begin { Since cond1 is a subset of inv(cond2), jmp will always branch if jmp does not, so change jmp to an unconditional jump. }