[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Chicken-hackers] [PATCH] #1648 + unrolling
From: |
felix . winkelmann |
Subject: |
[Chicken-hackers] [PATCH] #1648 + unrolling |
Date: |
Thu, 26 Sep 2019 11:17:52 +0200 |
Hi!
Attached is a revert of the recently reverted patch for folding some
inline-expressions which caused #1648 and another patch
addressing the OOM error when compiling uri-generic.
The problem is that the optimizer does not catch runaway inlining
of recursive procedures, somehow this case never came up,
since other optimizations prevented this situation previously
(contraction, direct-lambda optimization, loop-detection,
inline-limit, etc.). The change is to keep a list of inlinee/inline-target
pairs and only allow a fixed number of inline attempts for the
same pair, effectively providing an "unroll-limit" for self-recursive
inlined calls. Note that this is different from the usual loop case,
which is handled differently. I've added "unroll-limit" compiler
options and declarations, for consistency.
felix
0001-Revert-Revert-half-of-Add-some-optimizer-simplificat.patch
Description: Text document
0001-Catch-runaway-inlining.patch
Description: Text document
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Chicken-hackers] [PATCH] #1648 + unrolling,
felix . winkelmann <=