Opened 9 years ago
Closed 2 years ago
#1226 closed defect (fixed)
This code will trigger an inlining loop
Reported by: | Christian Kellermann | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | someday |
Component: | compiler | Version: | 4.10.x |
Keywords: | Cc: | ||
Estimated difficulty: | hard |
Description
When compiling the following code with -O3 it will trigger an inlining loop observable with -debug i
(define (main-loop renderer) (main-loop renderer)) (when (zero? 0) (let () (when #t (when #t (main-loop renderer)))))
... inlining: "(t.scm:2) main-loop" f_193 14 inlining: "(t.scm:2) main-loop" f_193 14 ...
Change History (4)
comment:1 Changed 9 years ago by
Component: | unknown → compiler |
---|---|
Version: | 4.9.x → 4.10.x |
comment:2 Changed 9 years ago by
comment:3 Changed 8 years ago by
Estimated difficulty: | → hard |
---|
comment:4 Changed 2 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
Seems to have been fixed a while ago:
inlining: "(x.scm:2) main-loop" f_128 14 inlining: "(x.scm:2) main-loop" f_128 18 not inlining as unroll-limit is exceeded: "(x.scm:2) main-loop" f_128 f_128 inlining: "(x.scm:8) main-loop" f_128 10 inlining: "(x.scm:2) main-loop" f_128 10 not inlining as unroll-limit is exceeded: "(x.scm:2) main-loop" f_128 f_126 not inlining as unroll-limit is exceeded: "(x.scm:2) main-loop" f_128 f_128 not inlining as unroll-limit is exceeded: "(x.scm:2) main-loop" f_128 f_126 not inlining as unroll-limit is exceeded: "(x.scm:2) main-loop" f_128 f_128 not inlining as unroll-limit is exceeded: "(x.scm:2) main-loop" f_128 f_126 not inlining as unroll-limit is exceeded: "(x.scm:2) main-loop" f_128 f_128 not inlining as unroll-limit is exceeded: "(x.scm:2) main-loop" f_128 f_126 not inlining as unroll-limit is exceeded: "(x.scm:2) main-loop" f_128 f_128 not inlining as unroll-limit is exceeded: "(x.scm:2) main-loop" f_128 f_126
Note: See
TracTickets for help on using
tickets.
Also -O2