Query
Sunday 04 June 2023
2023-06-04 17:32:31 (4 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>
- pike/src/treeopt.in (+17/-3)(20 lines)
branch: master
Compiler [Optimizer]: Fix too excessive optimization of comma-expressions.
Comma expressions may have void expressions at the end. These do NOT affect
the value of the comma expression.
Fixes testsuite failure.
Saturday 11 March 2023
2023-03-11 15:22:35 (6 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>
- pike/src/treeopt.in (+8/-0)(8 lines)
branch: master
Compiler [Optimizer]: DeMorgan for logical AND and OR when result ignored.
Wednesday 21 December 2022
2022-12-21 17:33:25 (9 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>
- pike/src/peep.in (+5/-0)(5 lines)
branch: master
Compiler [Optimizer]: Some more peep-hole rules.
These improve handling of the local variable epilogue some more.
2022-12-21 13:18:18 (9 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>
- pike/src/peep.in (+5/-0)(5 lines)
branch: master
Compiler [Optimizer]: Added peep-hole rule.
The byte code sequence
push 0
set_local_end(x)
pop
has been seen in the wild. The new rule reorders
the above into
push 0
pop
set_local_end(x)
which the existing rules will shorten into just
set_local_end(x)
Friday 02 December 2022
2022-12-02 13:51:36 (10 months ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>
- pike/src/las.cmod (+9/-1)(10 lines)
branch: master
Compiler [Optimizer]: Do not optimize away RETURN_IF_TRUE statements...
Saturday 02 July 2022
2022-07-02 10:57:52 (1 year ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>
- pike/src/las.cmod (+2/-0)(2 lines)
branch: master
Compiler [Optimizer]: Set OPT_ASSIGNMENT on F_CLEAR_LOCAL nodes.
Fixes the optimizer removing clearing of locals at end of block.
Fixes testsuite failure.
Tuesday 24 March 2020
2020-03-24 11:29:51 (4 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>
- pike/src/docode.c (+22/-1)(23 lines)
branch: master
Compiler [Optimizer]: Fix fatal error in docode().
The code generator complained about "F_PUSH_ARRAY unexpected in
this context." when evaluating top-level F_ARG_LIST nodes containing
F_PUSH_ARRAY nodes. This seems to be an old bug that has resurfaced
with the removal of the top_statement_label_dummy.
Fixes#10023 .
Thursday 29 September 2016
2016-09-29 17:25:06 (7 years ago) by Henrik Grubbström (Grubba) <grubba@grubba.org>
- pike/src/peep.in (+5/-4)(9 lines)
branch: 7.8
Compiler [optimizer]: Disabled some broken peep rules.
These peep hole optimizer rules weren't protected against
negation overflow.
Disabled since INT32_NEG_OVERFLOW() doesn't exist in Pike 7.8.
Cf Pike 7.9.5 and later commit c63deca838788875b37d48a4faa044b5d6cafa0b.
Thanks to Magnus Holmgren for the report.
Potential fix for [LysLysKOM 21868180] (infinite optimizer loop).
Bugs mentioned
![]() | CLOSED | Optimizer fatal error "F_PUSH_ARRAY unexpected in this context." |