Opened 10 years ago
Closed 3 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 10 years ago by
| Component: | unknown → compiler |
|---|---|
| Version: | 4.9.x → 4.10.x |
comment:2 Changed 10 years ago by
comment:3 Changed 9 years ago by
| Estimated difficulty: | → hard |
|---|
comment:4 Changed 3 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