mips: Correct regression with code to fill delay slot - lightning.git - Portable just-in-time compiler library

index : lightning.git
Portable just-in-time compiler library
summary refs log tree commit diff
path: root/lib/jit_mips-cpu.c
diff options
context:
space:
mode:
authorpcpa <paulo.cesar.pereira.de.andrade@gmail.com>2023年01月20日 16:29:15 -0300
committerpcpa <paulo.cesar.pereira.de.andrade@gmail.com>2023年01月20日 16:29:15 -0300
commitb0f75ce6a6bcf9161c616e229c2f855d2d6d6b98 (patch)
treeac871c94cf3b778e56a11e2e0c6aa74822c31d4d /lib/jit_mips-cpu.c
parent35413a15327fe67e3e7f57286f5d9562e9852b05 (diff)
downloadlightning-b0f75ce6a6bcf9161c616e229c2f855d2d6d6b98.tar.gz
mips: Correct regression with code to fill delay slot
Apparently, previously the regression was not noticed due to value in the register that shows the regression. Now the check has been extended to detect the regression condition, and functionality of code to use delay slot reenabled.
Diffstat (limited to 'lib/jit_mips-cpu.c')
-rw-r--r--lib/jit_mips-cpu.c 6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/jit_mips-cpu.c b/lib/jit_mips-cpu.c
index f4472c7..f40b7e0 100644
--- a/lib/jit_mips-cpu.c
+++ b/lib/jit_mips-cpu.c
@@ -2230,11 +2230,13 @@ static jit_bool_t _can_swap_ds(jit_state_t *_jit, jit_node_t *prev,
{
jit_int32_t offset;
- /* FIXME this fixes tramp.tst and ctramp.c tests */
- if (1||!prev)
+ if (!prev)
return 0;
switch (prev->code) {
+ case jit_code_prolog:
+ if (!_jitc->function->assume_frame)
+ break;
case jit_code_ltr_f:
case jit_code_ler_f:
case jit_code_eqr_f:
generated by cgit v1.2.3 (git 2.39.1) at 2025年09月10日 23:51:20 +0000

AltStyle によって変換されたページ (->オリジナル) /