[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] 337/437: Remove a wrong optimization of callee save regi
From: |
Andy Wingo |
Subject: |
[Guile-commits] 337/437: Remove a wrong optimization of callee save registers |
Date: |
Mon, 2 Jul 2018 05:14:49 -0400 (EDT) |
wingo pushed a commit to branch lightning
in repository guile.
commit c95a356c1ad9e1d1dda43545f8b030f33a1155ae
Author: pcpa <address@hidden>
Date: Mon Nov 24 12:40:32 2014 -0200
Remove a wrong optimization of callee save registers
---
ChangeLog | 6 ++++++
lib/lightning.c | 10 +---------
2 files changed, 7 insertions(+), 9 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index c8b09e3..1fb41d3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2014-11-24 Paulo Andrade <address@hidden>
+
+ * lib/lightning.c: Remove an optimization to calee save
+ registers that may incorrectly remove a jit_movr under
+ special conditions.
+
2014-11-20 Paulo Andrade <address@hidden>
* include/lightning/jit_ppc.h, lib/jit_ppc-cpu.c,
diff --git a/lib/lightning.c b/lib/lightning.c
index 8f892da..5894db2 100644
--- a/lib/lightning.c
+++ b/lib/lightning.c
@@ -2855,12 +2855,12 @@ _simplify(jit_state_t *_jit)
jit_node_t *next;
jit_int32_t info;
jit_int32_t regno;
- jit_int32_t offset;
for (prev = NULL, node = _jitc->head; node; prev = node, node = next) {
next = node->next;
switch (node->code) {
case jit_code_label: case jit_code_prolog:
+ case jit_code_callr: case jit_code_calli:
reset:
memset(_jitc->gen, 0, sizeof(jit_int32_t) * _jitc->reglen);
memset(_jitc->values, 0, sizeof(jit_value_t) * _jitc->reglen);
@@ -2936,14 +2936,6 @@ _simplify(jit_state_t *_jit)
if (simplify_stxi(prev, node))
simplify_spill(node = prev, regno);
break;
- case jit_code_callr: case jit_code_calli:
- for (offset = 0; offset < _jitc->reglen; offset++) {
- if (!(jit_class(_rvs[offset].spec) & jit_class_sav)) {
- _jitc->values[offset].kind = 0;
- ++_jitc->gen[offset];
- }
- }
- break;
default:
info = jit_classify(node->code);
if (info & jit_cc_a0_jmp)
- [Guile-commits] 330/437: Resync with new patch to make functions receive a const argument, (continued)
- [Guile-commits] 330/437: Resync with new patch to make functions receive a const argument, Andy Wingo, 2018/07/02
- [Guile-commits] 185/437: Store all annotation information in the read only data buffer., Andy Wingo, 2018/07/02
- [Guile-commits] 170/437: Test and correct test cases in all current backends., Andy Wingo, 2018/07/02
- [Guile-commits] 368/437: Implement jit_allocar for dynamic stack allocation, Andy Wingo, 2018/07/02
- [Guile-commits] 355/437: Update documentation on jit_frame and jit_tramp, Andy Wingo, 2018/07/02
- [Guile-commits] 323/437: misc: Make jit_note and related functions take a const argument, Andy Wingo, 2018/07/02
- [Guile-commits] 429/437: Remove disassembler support from lightning, Andy Wingo, 2018/07/02
- [Guile-commits] 346/437: PPC: Build and pass all tests in powerpcle, Andy Wingo, 2018/07/02
- [Guile-commits] 180/437: Correct C sequence point problem., Andy Wingo, 2018/07/02
- [Guile-commits] 370/437: Add missing ellipsis in allocar.tst, Andy Wingo, 2018/07/02
- [Guile-commits] 337/437: Remove a wrong optimization of callee save registers,
Andy Wingo <=
- [Guile-commits] 437/437: Wire up lightning into libguile build, Andy Wingo, 2018/07/02
- [Guile-commits] 362/437: Avoid problems if JIT_INSTR_MAX is miscalculated, Andy Wingo, 2018/07/02
- [Guile-commits] 183/437: Correct qmul and qdiv in ppc., Andy Wingo, 2018/07/02
- [Guile-commits] 235/437: Correct build on FreeBSD/amd64, Andy Wingo, 2018/07/02
- [Guile-commits] 240/437: Correct wrong test and update of arm thumb offset information., Andy Wingo, 2018/07/02
- [Guile-commits] 215/437: Add functional hppa port. All tests pass., Andy Wingo, 2018/07/02
- [Guile-commits] 369/437: Correct typo in x87.nodata test list, Andy Wingo, 2018/07/02
- [Guile-commits] 307/437: x86: Build and pass all tests on 32 bit cygwin, Andy Wingo, 2018/07/02
- [Guile-commits] 401/437: Implement a correct generation of Fibonacci numbers., Andy Wingo, 2018/07/02
- [Guile-commits] 318/437: Add label predicates, Andy Wingo, 2018/07/02